Re: [PATCH v3 2/4] extcon: usb-gpio: add support for VBUS detection

From: Roger Quadros
Date: Thu Apr 30 2015 - 03:33:10 EST


On 16/04/15 11:26, Chanwoo Choi wrote:
> On 04/16/2015 05:01 PM, Peter Chen wrote:
>> On Thu, Apr 16, 2015 at 04:59:31PM +0900, Chanwoo Choi wrote:
>>> On 04/16/2015 04:13 PM, Ivan T. Ivanov wrote:
>>>> Hi,
>>>>
>>>> On Thu, 2015-04-16 at 16:00 +0900, Chanwoo Choi wrote:
>>>>> Hi Peter,
>>>>>
>>>>> On 04/16/2015 10:59 AM, Peter Chen wrote:
>>>>>>
>>>>
>>>>>> Ok, from USB point, external id/vbus value can't decide
>>>>>> which role the controller will be, the controller driver
>>>>>> will decide role according to many things, eg, user configurations,
>>>>>> id/vbus value, OTG HNP, etc.
>>>>>>
>>>>>> So, from USB controller/phy driver, it doesn't care which cable is
>>>>>> inserted, it cares about id/vbus value. Eg, it can get id/vbus value
>>>>>> and it will be notified when the id/vbus value has changed.
>>>>>
>>>>> OK, I change the notifier name and add notifier events as following:
>>>>>
>>>>> - extcon_{register|unregister}_usb_notifier(struct extcon_dev *edev, struct notifier_block *nb);
>>>>> - list of notifier events
>>>>> #define EXTCON_USB_ID_L_VBUS_L0 /* ID low and VBUS low */
>>>>> #define EXTCON_USB_ID_L_VBUS_H1 /* ID low and VBUS high */
>>>>> #define EXTCON_USB_ID_H_VBUS_L2 /* ID high and VBUS low */
>>>>> #define EXTCON_USB_ID_H_VBUS_H3 /* ID high and VBUS high */
>>>>
>>>> I am still confused, why we mix ID and VBUS events into one?
>>>> Those are two lines and they are not necessarily handled by
>>>> the same extcon_dev.
>>>
>>> IMO, if some usb driver check both id and vbus pin at the same time,
>>> the usb driver can know the both id and vbus pin state through only one notifier event.
>>>
>>> Also,
>>> If some usb driver want to know the state of id pin except of vbus state,
>>> when receiving following events, id pin is low.
>>> #define EXTCON_USB_ID_L_VBUS_L0
>>> #define EXTCON_USB_ID_L_VBUS_H1
>>> when receiving following events, id pin is high.
>>> #define EXTCON_USB_ID_H_VBUS_L2
>>> #define EXTCON_USB_ID_H_VBUS_H3
>>> Also, some usb driver would catch the vbus pin state with same method.
>>>
>>> But, it is just my opinion. We may use following notifier events for each pin.
>>> We need to discuss it.
>>> #define EXTCON_USB_ID_LOW
>>> #define EXTCON_USB_ID_HIGH
>>> #define EXTCON_USB_VBUS_LOW
>>> #define EXTCON_USB_VBUS_HIGH
>>>
>>
>> I agree with above definition.
>>
>
> OK. I understand.
>
>
Chanwoo, Robert,

Do we have an agreement on a common solution then?
IMO the above mentioned 4 notifier events should meet all our USB needs.

cheers,
-roger

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/