On Sat, Oct 11, 2025 at 11:32:26AM +0800, Chaoyi Chen wrote:
> From: Chaoyi Chen <[email protected]>
> 
> Add default DRM AUX HPD bridge device when register DisplayPort
> altmode. That makes it redundant for each Type-C driver to implement
> a similar registration process in embedded scenarios.
> 
> Signed-off-by: Chaoyi Chen <[email protected]>
> ---
> 
> Changes in v5:
> - Remove the calls related to `drm_aux_hpd_bridge_notify()`.
> - Place the helper functions in the same compilation unit.
> - Add more comments about parent device.
> 
>  drivers/usb/typec/class.c         | 26 ++++++++++++++++++++++++++
>  include/linux/usb/typec_altmode.h |  2 ++
>  2 files changed, 28 insertions(+)
> 
>  
> +static void dp_altmode_hpd_device_register(struct typec_altmode *alt)
> +{
> +     if (alt->svid != USB_TYPEC_DP_SID)
> +             return;
> +
> +     /*
> +      * alt->dev.parent->parent : USB-C controller device
> +      * alt->dev.parent         : USB-C connector device
> +      */
> +     alt->hpd_dev = drm_dp_hpd_bridge_register(alt->dev.parent->parent,
> +                                               
> to_of_node(alt->dev.parent->fwnode));

You can not do this, unless you make TYPEC core:

depends on DRM || DRM=n
select DRM_AUX_HPD_BRIDGE if DRM_BRIDGE && OF

> +     if (IS_ERR(alt->hpd_dev))
> +             alt->hpd_dev = NULL;
> +}
> +
>  static struct typec_altmode *
>  typec_register_altmode(struct device *parent,
>                      const struct typec_altmode_desc *desc)

-- 
With best wishes
Dmitry

Reply via email to