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

From: Guenter Roeck
Date: Thu Aug 04 2016 - 10:47:34 EST


On Thu, Aug 4, 2016 at 3:57 AM, Chanwoo Choi <cw00.choi@xxxxxxxxxxx> wrote:
> Hi Guenter and Roger,
>
> On 2016ë 08ì 04ì 17:49, Roger Quadros wrote:
>> 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.
>
> Do you mean the EXTCON_PROP_USB_ID is un-needed?
> I'll remove the EXTCON_PROP_USB_ID property on next version.
>

If ID reflects host vs. device state, yes, it is not needed. Or,
alternatively, one of USB and USB_HOST would not be needed if ID is
present. Since that is not feasible because it would modify the ABI to
user space, dropping ID makes sense.

Thanks,
Guenter

>>
>>>
>>>> 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.
>>
>
> Regards,
> Chanwoo Choi
>