diff mbox series

[1/6] usb: typec: Standardize PD Revision format with Type-C Revision

Message ID 20210129061406.2680146-2-bleung@chromium.org
State New
Headers show
Series usb: typec: and platform/chrome: Add PD revision numbers | expand

Commit Message

Benson Leung Jan. 29, 2021, 6:14 a.m. UTC
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

Signed-off-by: Benson Leung <bleung@chromium.org>
---
 Documentation/ABI/testing/sysfs-class-typec | 7 ++++++-
 drivers/usb/typec/class.c                   | 3 ++-
 2 files changed, 8 insertions(+), 2 deletions(-)

Comments

Heikki Krogerus Feb. 1, 2021, 12:38 p.m. UTC | #1
On Thu, Jan 28, 2021 at 10:14:01PM -0800, Benson Leung wrote:
> 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

> 

> Signed-off-by: Benson Leung <bleung@chromium.org>


I guess it's OK to modify the ABI like this.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>


> ---

>  Documentation/ABI/testing/sysfs-class-typec | 7 ++++++-

>  drivers/usb/typec/class.c                   | 3 ++-

>  2 files changed, 8 insertions(+), 2 deletions(-)

> 

> diff --git a/Documentation/ABI/testing/sysfs-class-typec b/Documentation/ABI/testing/sysfs-class-typec

> index 8eab41e79ce6..b61480535fdc 100644

> --- a/Documentation/ABI/testing/sysfs-class-typec

> +++ b/Documentation/ABI/testing/sysfs-class-typec

> @@ -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

> diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c

> index 8f77669f9cf4..4f60ee7ba76a 100644

> --- a/drivers/usb/typec/class.c

> +++ b/drivers/usb/typec/class.c

> @@ -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);

>  

> -- 

> 2.30.0.365.g02bc693789-goog


thanks,

-- 
heikki
diff mbox series

Patch

diff --git a/Documentation/ABI/testing/sysfs-class-typec b/Documentation/ABI/testing/sysfs-class-typec
index 8eab41e79ce6..b61480535fdc 100644
--- a/Documentation/ABI/testing/sysfs-class-typec
+++ b/Documentation/ABI/testing/sysfs-class-typec
@@ -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
diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
index 8f77669f9cf4..4f60ee7ba76a 100644
--- a/drivers/usb/typec/class.c
+++ b/drivers/usb/typec/class.c
@@ -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);