USB Power Delivery has a 3 entity handshake (port, cable, partner), and as of USB PD R3.0, each entity may independently support either Revision 2 or Revision 3 signaling and protocol. In order for userspace and the kernel to properly process the data objects received from a particular SOP*, we must know to which revision of the spec each conforms. This series adds individual version numbers for the partner and the cable, and exposes them in the appropriate sysfs in /sys/class/typec. I provide as a first implementation of this, platform/chrome's cros_ec_typec driver, whose underlying status messages convey the SOP and SOP' revisions already. Thanks, Benson Benson Leung (6): usb: typec: Standardize PD Revision format with Type-C Revision usb: typec: Provide PD Specification Revision for cable and partner usb: typec: Add typec_partner_set_pd_revision platform/chrome: cros_ec_typec: Report SOP' PD revision from status platform/chrome: cros_ec_typec: Set Partner PD revision from status platform/chrome: cros_ec_typec: Set opmode to PD on SOP connected Documentation/ABI/testing/sysfs-class-typec | 20 ++++++- drivers/platform/chrome/cros_ec_typec.c | 26 +++++++-- drivers/usb/typec/class.c | 59 +++++++++++++++++++-- include/linux/usb/typec.h | 11 ++++ 4 files changed, 108 insertions(+), 8 deletions(-) -- 2.30.0.365.g02bc693789-goog