Wed, Oct 29, 2025 at 03:14:27PM +0800, Chaoyi Chen kirjoitti:
> From: Chaoyi Chen <[email protected]>
> 
> Export all typec device types for identification.
> 
> Signed-off-by: Chaoyi Chen <[email protected]>

Reviewed-by: Heikki Krogerus <[email protected]>

> ---
>  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

Reply via email to