Hi, This is the second version of my proposal to add alt mode handling to ucsi driver. The problem in the first version was that I was not using the port alt mode that was associated with the partner alt mode (and vise versa), but I was instead searching the alt mode objects in every case separately. So in this version I'm now always using the already associated alternate mode partner in every case, and as far as the UCSI driver (or any other USB Type-C driver) is concerned, that is all that it needs to do. The problem of actually associating the correct alt mode partner object belongs to the Type-C subsystem core code, and any improvements to that code are out side of the scope of this series. I've prepared a patch that allows the alt mode drivers to find the correct port alt mode for the partner alt modes. That should cover SVIDs that define multiple modes (note, DisplayPort Alt mode is not one of those). But as I mentioned above, that is not related to this series. You can check the v1 from here: https://www.spinics.net/lists/linux-usb/msg176703.html thanks, Heikki Krogerus (2): usb: typec: ucsi: Preliminary support for alternate modes usb: typec: ucsi: Support for DisplayPort alt mode drivers/usb/typec/ucsi/Makefile | 15 +- drivers/usb/typec/ucsi/displayport.c | 297 ++++++++++++++++++++++ drivers/usb/typec/ucsi/trace.c | 12 + drivers/usb/typec/ucsi/trace.h | 26 ++ drivers/usb/typec/ucsi/ucsi.c | 366 ++++++++++++++++++++++----- drivers/usb/typec/ucsi/ucsi.h | 93 +++++++ 6 files changed, 738 insertions(+), 71 deletions(-) create mode 100644 drivers/usb/typec/ucsi/displayport.c -- 2.20.1