]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: typec: Export typec bus and typec altmode device type
authorChaoyi Chen <chaoyi.chen@rock-chips.com>
Mon, 8 Dec 2025 01:54:51 +0000 (09:54 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Dec 2025 13:42:34 +0000 (14:42 +0100)
The DRM may want to register a notifier on the typec bus to know when
a typec altmode device is added, and distinguish between different
types of typec altmode device.

Export these things.

Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20251208015500.94-3-kernel@airkyi.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/bus.c
drivers/usb/typec/bus.h
drivers/usb/typec/class.c
include/linux/usb/typec.h
include/linux/usb/typec_altmode.h

index a33da7f458a524950812248d26d38796a5d48791..e84b134a3381332a639d8d9a8f6b554ebbbfcd2a 100644 (file)
@@ -569,3 +569,4 @@ const struct bus_type typec_bus = {
        .probe = typec_probe,
        .remove = typec_remove,
 };
+EXPORT_SYMBOL_GPL(typec_bus);
index b58e131450d11c8858f4a6b0998e4931031389cf..7df5deb1dd3a5740b1dd35ad247b05f737d0d21b 100644 (file)
@@ -5,7 +5,6 @@
 
 #include <linux/usb/typec_altmode.h>
 
-struct bus_type;
 struct typec_mux;
 struct typec_retimer;
 
@@ -28,13 +27,4 @@ struct altmode {
 
 #define to_altmode(d) container_of(d, struct altmode, adev)
 
-extern const struct bus_type typec_bus;
-extern const struct device_type typec_port_altmode_dev_type;
-extern const struct device_type typec_plug_altmode_dev_type;
-extern const struct device_type typec_partner_altmode_dev_type;
-
-#define is_typec_port_altmode(dev) ((dev)->type == &typec_port_altmode_dev_type)
-#define is_typec_plug_altmode(dev) ((dev)->type == &typec_plug_altmode_dev_type)
-#define is_typec_partner_altmode(dev) ((dev)->type == &typec_partner_altmode_dev_type)
-
 #endif /* __USB_TYPEC_ALTMODE_H__ */
index d6b88317f8a4bf6edac0f8081da0c9dfa59acaa1..c4ff4310ff58a16dc21136d57492f8f1a6fbea40 100644 (file)
@@ -537,18 +537,21 @@ const struct device_type typec_port_altmode_dev_type = {
        .groups = typec_altmode_groups,
        .release = typec_altmode_release,
 };
+EXPORT_SYMBOL_GPL(typec_port_altmode_dev_type);
 
 const struct device_type typec_plug_altmode_dev_type = {
        .name = "typec_plug_alternate_mode",
        .groups = typec_altmode_groups,
        .release = typec_altmode_release,
 };
+EXPORT_SYMBOL_GPL(typec_plug_altmode_dev_type);
 
 const struct device_type typec_partner_altmode_dev_type = {
        .name = "typec_partner_alternate_mode",
        .groups = typec_altmode_groups,
        .release = typec_altmode_release,
 };
+EXPORT_SYMBOL_GPL(typec_partner_altmode_dev_type);
 
 static struct typec_altmode *
 typec_register_altmode(struct device *parent,
index 309251572e2e98c51f8d6243c95acca74f478fa1..c6fd46902fce734c4cdd69f1c9afa5e3ce62aff2 100644 (file)
@@ -20,12 +20,15 @@ struct typec_port;
 struct typec_altmode_ops;
 struct typec_cable_ops;
 
+struct bus_type;
 struct fwnode_handle;
 struct device;
 
 struct usb_power_delivery;
 struct usb_power_delivery_desc;
 
+extern const struct bus_type typec_bus;
+
 enum typec_port_type {
        TYPEC_PORT_SRC,
        TYPEC_PORT_SNK,
index f7db3bd4c90e9b8eceac34cd2844926d5b39c06d..9197a4637a93844a4dc0974c9b8348d1f5a99525 100644 (file)
@@ -9,6 +9,14 @@
 
 #define MODE_DISCOVERY_MAX     6
 
+extern const struct device_type typec_port_altmode_dev_type;
+extern const struct device_type typec_plug_altmode_dev_type;
+extern const struct device_type typec_partner_altmode_dev_type;
+
+#define is_typec_port_altmode(dev) ((dev)->type == &typec_port_altmode_dev_type)
+#define is_typec_plug_altmode(dev) ((dev)->type == &typec_plug_altmode_dev_type)
+#define is_typec_partner_altmode(dev) ((dev)->type == &typec_partner_altmode_dev_type)
+
 struct typec_altmode_ops;
 
 /**