[PATCH v8 02/10] usb: typec: Export all typec device types
Heikki Krogerus
heikki.krogerus at linux.intel.com
Fri Oct 31 06:49:06 PDT 2025
Wed, Oct 29, 2025 at 03:14:27PM +0800, Chaoyi Chen kirjoitti:
> From: Chaoyi Chen <chaoyi.chen at rock-chips.com>
>
> Export all typec device types for identification.
>
> Signed-off-by: Chaoyi Chen <chaoyi.chen at rock-chips.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
> ---
> drivers/usb/typec/class.c | 4 ++++
> drivers/usb/typec/class.h | 10 ----------
> include/linux/usb/typec.h | 10 ++++++++++
> 3 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
> index 51e971bc68d1..04b55f066b06 100644
> --- a/drivers/usb/typec/class.c
> +++ b/drivers/usb/typec/class.c
> @@ -793,6 +793,7 @@ const struct device_type typec_partner_dev_type = {
> .groups = typec_partner_groups,
> .release = typec_partner_release,
> };
> +EXPORT_SYMBOL_GPL(typec_partner_dev_type);
>
> static void typec_partner_link_device(struct typec_partner *partner, struct device *dev)
> {
> @@ -1147,6 +1148,7 @@ const struct device_type typec_plug_dev_type = {
> .groups = typec_plug_groups,
> .release = typec_plug_release,
> };
> +EXPORT_SYMBOL_GPL(typec_plug_dev_type);
>
> /**
> * typec_plug_set_num_altmodes - Set the number of available plug altmodes
> @@ -1295,6 +1297,7 @@ const struct device_type typec_cable_dev_type = {
> .groups = typec_cable_groups,
> .release = typec_cable_release,
> };
> +EXPORT_SYMBOL_GPL(typec_cable_dev_type);
>
> /**
> * typec_cable_get - Get a reference to the USB Type-C cable
> @@ -2034,6 +2037,7 @@ const struct device_type typec_port_dev_type = {
> .uevent = typec_uevent,
> .release = typec_release,
> };
> +EXPORT_SYMBOL_GPL(typec_port_dev_type);
>
> /* --------------------------------------- */
> /* Driver callbacks to report role updates */
> diff --git a/drivers/usb/typec/class.h b/drivers/usb/typec/class.h
> index db2fe96c48ff..f04f6987bed8 100644
> --- a/drivers/usb/typec/class.h
> +++ b/drivers/usb/typec/class.h
> @@ -87,16 +87,6 @@ struct typec_port {
> #define to_typec_cable(_dev_) container_of(_dev_, struct typec_cable, dev)
> #define to_typec_partner(_dev_) container_of(_dev_, struct typec_partner, dev)
>
> -extern const struct device_type typec_partner_dev_type;
> -extern const struct device_type typec_cable_dev_type;
> -extern const struct device_type typec_plug_dev_type;
> -extern const struct device_type typec_port_dev_type;
> -
> -#define is_typec_partner(dev) ((dev)->type == &typec_partner_dev_type)
> -#define is_typec_cable(dev) ((dev)->type == &typec_cable_dev_type)
> -#define is_typec_plug(dev) ((dev)->type == &typec_plug_dev_type)
> -#define is_typec_port(dev) ((dev)->type == &typec_port_dev_type)
> -
> extern const struct class typec_mux_class;
> extern const struct class retimer_class;
> extern const struct class typec_class;
> diff --git a/include/linux/usb/typec.h b/include/linux/usb/typec.h
> index 309251572e2e..02fed8293415 100644
> --- a/include/linux/usb/typec.h
> +++ b/include/linux/usb/typec.h
> @@ -56,6 +56,16 @@ enum typec_role {
> TYPEC_SOURCE,
> };
>
> +extern const struct device_type typec_partner_dev_type;
> +extern const struct device_type typec_cable_dev_type;
> +extern const struct device_type typec_plug_dev_type;
> +extern const struct device_type typec_port_dev_type;
> +
> +#define is_typec_partner(dev) ((dev)->type == &typec_partner_dev_type)
> +#define is_typec_cable(dev) ((dev)->type == &typec_cable_dev_type)
> +#define is_typec_plug(dev) ((dev)->type == &typec_plug_dev_type)
> +#define is_typec_port(dev) ((dev)->type == &typec_port_dev_type)
> +
> static inline int is_sink(enum typec_role role)
> {
> return role == TYPEC_SINK;
> --
> 2.49.0
--
heikki
More information about the linux-phy
mailing list