diff --git a/include/linux/component.h b/include/linux/component.h
new file mode 100644
index 0000000..e71fbbb
--- /dev/null
+++ b/include/linux/component.h
@@ -0,0 +1,49 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef COMPONENT_H
+#define COMPONENT_H
+
+#include <linux/stddef.h>
+
+struct device;
+
+struct component_ops {
+	int (*bind)(struct device *comp, struct device *master,
+		    void *master_data);
+	void (*unbind)(struct device *comp, struct device *master,
+		       void *master_data);
+};
+
+int component_add(struct device *, const struct component_ops *);
+void component_del(struct device *, const struct component_ops *);
+
+int component_bind_all(struct device *master, void *master_data);
+void component_unbind_all(struct device *master, void *master_data);
+
+struct master;
+
+struct component_master_ops {
+	int (*bind)(struct device *master);
+	void (*unbind)(struct device *master);
+};
+
+void component_master_del(struct device *,
+	const struct component_master_ops *);
+
+struct component_match;
+
+int component_master_add_with_match(struct device *,
+	const struct component_master_ops *, struct component_match *);
+void component_match_add_release(struct device *master,
+	struct component_match **matchptr,
+	void (*release)(struct device *, void *),
+	int (*compare)(struct device *, void *), void *compare_data);
+
+static inline void component_match_add(struct device *master,
+	struct component_match **matchptr,
+	int (*compare)(struct device *, void *), void *compare_data)
+{
+	component_match_add_release(master, matchptr, NULL, compare,
+				    compare_data);
+}
+
+#endif
