On 10/12/2025 12:51 AM, Dmitry Baryshkov wrote:

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

You are right, Kconfig should be configured by the actual caller. Will fix in 
v6.



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

--
Best,
Chaoyi

Reply via email to