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

From: Oliver Neukum
Date: Thu Feb 18 2016 - 04:24:38 EST


On Thu, 2016-02-18 at 10:47 +0200, Heikki Krogerus wrote:

Hi,

> The modes that can actually be selected have to be supported by both
> the connector and the partner, and this is where I'm putting the ball
> on the userspace at the moment. I'm not offering a list of
> "possible_alternate_modes" where I list the combination, but instead
> expect the userspace to be figure out that on it's own.
>
> Do you think we should add "possible_alternate_modes" file?

No, what do we answer to the DFP if we recieve "Discover SVIDs"?
I don't think that we always should answer with all we physically
can. If, for example, the hardware could do Thunderbolt, but the OS
is not prepared to handle it, we shouldn't offer it. So this is
a policy decision to be made in user space. Hence we need
an API to tell it to the kernel.

> P.S. That reminds me, here's my current draft for the
> Documentation/ABI/. Could you take a look?

OK

Here are my comments:

What: /sys/class/type-c/usbcN/connected

Connection status of the USB Type-C connector usbcN. "yes" when
connected, otherwise "no".

Unnecessarily wordy. 0 and 1 would do

What: /sys/class/type-c/usbcN/current_data_role

Again, 0 and 1 would do

What: /sys/class/type-c/usbcN/partner_alternate_modes

You should say in which number base the values are given.

What: /sys/class/type-c/usbcN/partner_type

That could be combined with "connected"

What: /sys/class/type-c/usbcN/supported_data_roles

A connector can be both. How is that expressed?

What: /sys/class/type-c/usbcN/supported_power_roles

Again, what if it can do both?