Hi guys, The bus allows SVID specific communication with the partners to be handled in separate drivers for each alternate mode. Alternate mode handling happens with two separate logical devices: 1. Partner alternate mode devices which represent the alternate modes on the partner. The driver for them will handle the alternate mode specific communication with the partner using VDMs. 2. Port alternate mode devices which represent connections from the USB Type-C port to devices on the platform. The drivers will be bind to the partner alternate modes. The alternate mode drivers will need to deliver the result of the negotiated pin configurations to the rest of the platform (towards the port alternate mode devices). This series includes API for that, however, not the final implementation yet. The connections to the other devices on the platform the ports have can be described by using the remote endpoint concept [1][2] on ACPI and DT platforms, but I have no solution for the "platform data" case where we have neither DT nor ACPI to describe the connections for us. [1] Documentation/devicetree/bindings/graph.txt [2] Documentation/acpi/dsd/graph.txt Heikki Krogerus (2): usb: typec: Simple bus for alternate modes usb: typec: dummy alternate mode driver drivers/usb/typec/Kconfig | 2 + drivers/usb/typec/Makefile | 3 + drivers/usb/typec/altmode.c | 249 +++++++++++++++++++++++++++++++++ drivers/usb/typec/altmode.h | 46 ++++++ drivers/usb/typec/altmodes/Kconfig | 9 ++ drivers/usb/typec/altmodes/Makefile | 2 + drivers/usb/typec/altmodes/dummy.c | 133 ++++++++++++++++++ drivers/usb/typec/{typec.c => class.c} | 128 ++++++++++++----- drivers/usb/typec/tcpm.c | 2 +- include/linux/usb/typec.h | 6 +- include/linux/usb/typec_altmode.h | 65 +++++++++ 11 files changed, 608 insertions(+), 37 deletions(-) create mode 100644 drivers/usb/typec/altmode.c create mode 100644 drivers/usb/typec/altmode.h create mode 100644 drivers/usb/typec/altmodes/Kconfig create mode 100644 drivers/usb/typec/altmodes/Makefile create mode 100644 drivers/usb/typec/altmodes/dummy.c rename drivers/usb/typec/{typec.c => class.c} (93%) create mode 100644 include/linux/usb/typec_altmode.h -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html