usb: typec: Standardize PD Revision format with Type-C Revision
authorBenson Leung <bleung@chromium.org>
Fri, 29 Jan 2021 06:14:01 +0000 (22:14 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Feb 2021 14:31:34 +0000 (15:31 +0100)
The Type-C Revision was in a specific BCD format "0120H" for 1.2.
USB PD revision numbers follow a similar pattern with "0300H" for 3.0.

Standardizes the sysfs format for usb_power_delivery_revision
to align with the BCD format used for usb_typec_revision.

Example values:
- "2.0": USB Power Delivery Release 2.0
- "3.0": USB Power Delivery Release 3.0
- "3.1": USB Power Delivery Release 3.1

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20210129061406.2680146-2-bleung@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/sysfs-class-typec
drivers/usb/typec/class.c

index 8eab41e..b614805 100644 (file)
@@ -105,7 +105,12 @@ Date:              April 2017
 Contact:       Heikki Krogerus <heikki.krogerus@linux.intel.com>
 Description:
                Revision number of the supported USB Power Delivery
-               specification, or 0 when USB Power Delivery is not supported.
+               specification, or 0.0 when USB Power Delivery is not supported.
+
+               Example values:
+               - "2.0": USB Power Delivery Release 2.0
+               - "3.0": USB Power Delivery Release 3.0
+               - "3.1": USB Power Delivery Release 3.1
 
 What:          /sys/class/typec/<port>/usb_typec_revision
 Date:          April 2017
index 8f77669..4f60ee7 100644 (file)
@@ -1500,8 +1500,9 @@ static ssize_t usb_power_delivery_revision_show(struct device *dev,
                                                char *buf)
 {
        struct typec_port *p = to_typec_port(dev);
+       u16 rev = p->cap->pd_revision;
 
-       return sprintf(buf, "%d\n", (p->cap->pd_revision >> 8) & 0xff);
+       return sprintf(buf, "%d.%d\n", (rev >> 8) & 0xff, (rev >> 4) & 0xf);
 }
 static DEVICE_ATTR_RO(usb_power_delivery_revision);