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

From: Heikki Krogerus
Date: Thu Mar 23 2017 - 04:19:28 EST


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