Re: [PATCH v3 2/6] extcon: Add the support for extcon property according to extcon type

From: Roger Quadros
Date: Thu Aug 04 2016 - 04:57:22 EST


On 04/08/16 07:09, Guenter Roeck wrote:
> On Wed, Aug 3, 2016 at 5:42 PM, Chanwoo Choi <cw00.choi@xxxxxxxxxxx> wrote:
>> Hi Roger,
>>
>> On 2016ë 08ì 03ì 18:46, Roger Quadros wrote:
>>> Hi Chanwoo,
>>>
>
> [ ... ]
>
>>>>>> + /*
>>>>>> + * Check whether the external connector is attached.
>>>>>> + * If external connector is detached, the user can not
>>>>>> + * get the property value.
>>>>>> + */
>>>>>
>>>>> How will this work for USB case? We need to know VBUS and ID states
>>>>> even if the USB cable is detached.
>>>>
>>>> When USB is detached, extcon_get_property return the default value without any operation.
>>>> The default value of supported property are 0 (zero). If new property need the differnt default
>>>> value, I'll support it.
>>>
>>> Is the property a property of the connector or of the cable?
>>>
>>> In my opinion, ID and VBUS are properties of the USB connector and not of
>>> the USB cable. So extcon must provide valid status for those properties
>>> even if USB cable or USB_HOST cable is detached.
>>
>> I don't understand about that if USB and USB_HOST are detached,
>> how can the USB be operating? As you mentioned that, extcon must
>> provide the valid status for both state and properties.
>>
>
> Correct. No cable means that the polarity is unknown, and VBUS must not be
> active (for USB_HOST), or it can not be active (for USB).

OK.

>
> Only question might be EXTCON_PROP_USB_ID; I am not sure I understand
> what it is supposed to return. Maybe it would be worthwhile to document it ?

Agreed. It seems redundant as ID can be easily inferred from USB_HOST cable state.
i.e. if USB_HOST is attached ID is 0. If USB_HOST is detached ID is 1.

>
>> So, I already mentioned, When USB and USB_HOST are detached,
>> extcon return the default value instead of error value.
>> I think that it is reasonable. Why is it not a valid?
>>
>
> I agree; I don't know what else could be returned if no cable is
> attached, even if we wanted to.
>
OK.

I understood now that if kernel USB driver can interpret EXTCON_USB, EXTCON_USB_HOST
and VBUS property, it sufficiently captures ID and VBUS information.

cheers,
-roger