Re: [PATCH 1/3] usb: USB Type-C Connector Class

From: Oliver Neukum
Date: Thu Feb 11 2016 - 04:14:40 EST


On Thu, 2016-02-11 at 10:55 +0200, Felipe Balbi wrote:
> Oliver Neukum <oneukum@xxxxxxxx> writes:
> > On Tue, 2016-02-09 at 19:01 +0200, Heikki Krogerus wrote:
> >> The purpose of this class is to provide unified interface
> >> for user space to get the status and basic information about
> >> USB Type-C Connectors in the system, control data role
> >> swapping, and when USB PD is available, also power role
> >> swapping and Altenate Modes.
> >>
> >> The class will export the following interfaces for every
> >> USB Type-C Connector in the system to sysfs:
> >>
> >> 1. connected - Connection status of the connector
> >> 2. alternate_mode - The current Alternate Mode
> >> 3. alternate_modes - Lists all Alternate Modes the connector supports
> >
> > These names are a bit problematic, as they are too similar.
> > How about
> >
> > current_alternate_mode
> > potential_alternate_modes
>
> available_ ?

Also good. Frankly I think it boils down to taste.
I just want to make sure that they not be mistaken for each other.

> >> 4. partner_alt_modes - Lists partner's Alternate Modes when connected
>
> partner_alternate_modes ? (it's a file name, we can spell it out)

True

[..]

> > Doesn't this need locking?
> > And why wouldn't user space want to preselect a mode?
>
> isn't USB always the default mode ?

True for mode. But the question also applies to roles.
I would think that user space should be able to preselect
that we always want to be upstream or downstream or flexible.
And it should be able to preemptively disallow power delivery
even if no cable is present.

Regards
Oliver