[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <644d890b-86e8-f05a-cd4c-32937d971a45@roeck-us.net>
Date: Wed, 23 Oct 2019 06:44:39 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Puma Hsu <pumahsu@...gle.com>
Cc: gregkh@...uxfoundation.org, badhri@...gle.com, kyletso@...gle.com,
albertccwang@...gle.com, rickyniu@...gle.com,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] usb: typec: Add sysfs node to show connector
orientation
On 10/23/19 1:32 AM, Heikki Krogerus wrote:
> +Guenter
>
> On Tue, Oct 22, 2019 at 04:59:24PM +0800, Puma Hsu wrote:
>> Export the Type-C connector orientation so that user space
>> can get this information.
>>
>> Signed-off-by: Puma Hsu <pumahsu@...gle.com>
>> ---
>> Documentation/ABI/testing/sysfs-class-typec | 11 +++++++++++
>> drivers/usb/typec/class.c | 18 ++++++++++++++++++
>> 2 files changed, 29 insertions(+)
>>
>> diff --git a/Documentation/ABI/testing/sysfs-class-typec b/Documentation/ABI/testing/sysfs-class-typec
>> index d7647b258c3c..b22f71801671 100644
>> --- a/Documentation/ABI/testing/sysfs-class-typec
>> +++ b/Documentation/ABI/testing/sysfs-class-typec
>> @@ -108,6 +108,17 @@ Contact: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
>> Description:
>> Revision number of the supported USB Type-C specification.
>>
>> +What: /sys/class/typec/<port>/connector_orientation
>> +Date: October 2019
>> +Contact: Puma Hsu <pumahsu@...gle.com>
>> +Description:
>> + Indicates which typec connector orientation is configured now.
>> + cc1 is defined as "normal" and cc2 is defined as "reversed".
>> +
>> + Valid value:
>> + - unknown (nothing configured)
>
> "unknown" means we do not know the orientation.
>
>> + - normal (configured in cc1 side)
>> + - reversed (configured in cc2 side)
>
> Guenter, do you think "connector_orientation" OK. I proposed it, but
> I'm now wondering if something like "polarity" would be better?
>
Yes, or just "orientation". I don't see the value in the "connector_" prefix.
I also wonder if "unknown" is really correct. Is it really unknown, or
does it mean that the port is disconnected ?
Guenter
>> USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
>>
>> diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
>> index 94a3eda62add..911d06676aeb 100644
>> --- a/drivers/usb/typec/class.c
>> +++ b/drivers/usb/typec/class.c >> @@ -1245,6 +1245,23 @@ static ssize_t usb_power_delivery_revision_show(struct device *dev,
>> }
>> static DEVICE_ATTR_RO(usb_power_delivery_revision);
>>
>> +static const char * const typec_connector_orientation[] = {
>> + [TYPEC_ORIENTATION_NONE] = "unknown",
>> + [TYPEC_ORIENTATION_NORMAL] = "normal",
>> + [TYPEC_ORIENTATION_REVERSE] = "reversed",
>> +};
>> +
>> +static ssize_t connector_orientation_show(struct device *dev,
>> + struct device_attribute *attr,
>> + char *buf)
>> +{
>> + struct typec_port *p = to_typec_port(dev);
>> +
>> + return sprintf(buf, "%s\n",
>> + typec_connector_orientation[p->orientation]);
>> +}
>> +static DEVICE_ATTR_RO(connector_orientation);
>> +
>> static struct attribute *typec_attrs[] = {
>> &dev_attr_data_role.attr,
>> &dev_attr_power_operation_mode.attr,
>> @@ -1255,6 +1272,7 @@ static struct attribute *typec_attrs[] = {
>> &dev_attr_usb_typec_revision.attr,
>> &dev_attr_vconn_source.attr,
>> &dev_attr_port_type.attr,
>> + &dev_attr_connector_orientation.attr,
>> NULL,
>> };
>> ATTRIBUTE_GROUPS(typec);
>
> thanks,
>
Powered by blists - more mailing lists