Hi Benson, RFC for now. I can't test these properly. If you guys could take over this, I would much appreciated. I hope this is at least close to your proposal. With this (or something like it) you should be able to get notification about USB connections and disconnections to your port driver by implementing the new "attach" and "deattach" callbacks in struct typec_partner_desc. The typec partner devices will also have symlinks to the enumerated USB devices and vise versa. I took a little shortcut and did not implement a proper device list. Instead there is now only a member for the USB2 device and a member for the USB3 device in struct typec_port, so with this only USB is supported. But the API does not deal with struct usb_device, so extending this to support other devices (TBT, Displayport, etc.) by adding the actual device list should be fairly easy. thanks, Heikki Krogerus (2): usb: typec: Link enumerated USB devices with Type-C partner usb: Inform the USB Type-C class about enumerated devices drivers/usb/core/hub.c | 4 ++ drivers/usb/core/hub.h | 3 + drivers/usb/core/port.c | 19 +++++- drivers/usb/typec/class.c | 108 +++++++++++++++++++++++++++++--- drivers/usb/typec/class.h | 16 +++++ drivers/usb/typec/port-mapper.c | 9 ++- include/linux/usb/typec.h | 37 +++++++++++ 7 files changed, 184 insertions(+), 12 deletions(-) -- 2.40.1