2017-03-21 10:25:04

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v17 0/3] USB Type-C Connector class

On Tue, Feb 21, 2017 at 05:24:02PM +0300, Heikki Krogerus wrote:
> The USB Type-C class is meant to provide unified interface to the
> userspace to present the USB Type-C ports in a system.
>
> Changes since v16:
> - Using PTR_ERR_OR_ZERO macro in typec_init().

I'm lost in the long thread here, is this series still ready to be
merged in, or is there another version that is being worked on?

thanks,

greg k-h


2017-03-21 10:37:48

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH v17 0/3] USB Type-C Connector class

On Tue, Mar 21, 2017 at 11:23:37AM +0100, Greg KH wrote:
> On Tue, Feb 21, 2017 at 05:24:02PM +0300, Heikki Krogerus wrote:
> > The USB Type-C class is meant to provide unified interface to the
> > userspace to present the USB Type-C ports in a system.
> >
> > Changes since v16:
> > - Using PTR_ERR_OR_ZERO macro in typec_init().
>
> I'm lost in the long thread here, is this series still ready to be
> merged in, or is there another version that is being worked on?

There was one documentation fix proposed Mats. The rest of the thread
was not about these patches.

I'll send one more version and fix the documentation.


Thanks,

--
heikki

2017-03-22 21:16:17

by Mats Karrman

[permalink] [raw]
Subject: Re: [PATCH v17 0/3] USB Type-C Connector class

On 03/21/2017 11:37 AM, Heikki Krogerus wrote:

>> I'm lost in the long thread here, is this series still ready to be
>> merged in, or is there another version that is being worked on?
> There was one documentation fix proposed Mats. The rest of the thread
> was not about these patches.
>
> I'll send one more version and fix the documentation.
>
A bit late but...

After reading a bit more I found that there is a miss-match between
Documentation/ABI/testing/sysfs-class-typec on one side and the actual
code and Documentation/usb/typec.rst on the other side. In the first it
looks like all attribute groups are flat under typec/ but in the code
and the other document they are instead created in a tree, e.g.:

/sys/class/typec/port0/
/sys/class/typec/port0/svid-ff01/
/sys/class/typec/port0/svid-ff01/mode0/
/sys/class/typec/port0/port0-partner/
/sys/class/typec/port0/port0-cable/
/sys/class/typec/port0/port0-cable/identity/
/sys/class/typec/port0/port0-cable/port0-plug0/
/sys/class/typec/port0/port0-cable/port0-plug1/

BR // Mats

2017-03-23 08:19:19

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH v17 0/3] USB Type-C Connector class

Hi Mats,

On Wed, Mar 22, 2017 at 10:15:20PM +0100, Mats Karrman wrote:
> On 03/21/2017 11:37 AM, Heikki Krogerus wrote:
>
> > > I'm lost in the long thread here, is this series still ready to be
> > > merged in, or is there another version that is being worked on?
> > There was one documentation fix proposed Mats. The rest of the thread
> > was not about these patches.
> >
> > I'll send one more version and fix the documentation.
> >
> A bit late but...
>
> After reading a bit more I found that there is a miss-match between
> Documentation/ABI/testing/sysfs-class-typec on one side and the actual
> code and Documentation/usb/typec.rst on the other side. In the first it
> looks like all attribute groups are flat under typec/ but in the code
> and the other document they are instead created in a tree, e.g.:
>
> /sys/class/typec/port0/
> /sys/class/typec/port0/svid-ff01/
> /sys/class/typec/port0/svid-ff01/mode0/
> /sys/class/typec/port0/port0-partner/
> /sys/class/typec/port0/port0-cable/
> /sys/class/typec/port0/port0-cable/identity/
> /sys/class/typec/port0/port0-cable/port0-plug0/
> /sys/class/typec/port0/port0-cable/port0-plug1/

Documentation/ABI/testing/sysfs-class-typec describes the attributes
from the classes point of view.

Documentation/usb/typec.rst tries to explain the actual hierarchy of
the devices that the current typec class driver generates, however the
"class" does not care about that. Every device will simply have a link
added to the class directory (/sys/class/typec/ in our case)
regardless of their parent. For example, port0 and its partners:

/sys/class/typec/port0 -> ../../devices/<path>/<to>/<your>/<device>/typec/port0
/sys/class/typec/port0-partner -> ../../devices/<path>/<to>/<your>/<device>/typec/port0/port0-partner
/sys/class/typec/port0-cable -> ../../devices/<path>/<to>/<your>/<device>/typec/port0/port0-cable
/sys/class/typec/port0-plug0 -> ../../devices/<path>/<to>/<your>/<device>/typec/port0/port0-cable/port0-plug0
/sys/class/typec/port0-plug1 -> ../../devices/<path>/<to>/<your>/<device>/typec/port0/port0-cable/port0-plug1


Thanks,

--
heikki