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

From: Chanwoo Choi
Date: Thu Apr 30 2015 - 03:55:32 EST


On 04/30/2015 04:32 PM, Roger Quadros wrote:
> 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,
>

Hi Roger,

> Do we have an agreement on a common solution then?

Yes.

> IMO the above mentioned 4 notifier events should meet all our USB needs.

I'll support usb notifier chain which includes 4 notifier events.

Thanks,
Chanwoo Choi


--
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/