Hi, On 06/09/2016 10:35 AM, Chanwoo Choi wrote: > Hi, > > It is good to support USB_ID and USB_VBUS by extcon. > > But, > there is some issue about adding the new cable type for > both EXTCON_USB_ID and EXTCON_USB_VBUS > > I think that the ID and VBUS state are not cable type > Instead, ID and VBUS state are the property of USB cable. > > So, I'd like to add the following function to support > the property of each cable as following: > The client driver can get the state of property by using > the extcon_get_cable_property_state(). > > - int extcon_get_cable_property_state(struct extcon_dev *edev, > unsigned int id, > enum extcon_property property); > - int extcon_set_cable_property_state(struct extcon_dev *edev, > unsigned int id, > enum extcon_property property, > unsigned int state); > > For example, > In extcon-usb-gpio.c, set state of property as follwoing: > extcon_set_cable_property_state(edev, EXTCON_USB, EXTCON_USB_PROP_ID, 1); > extcon_set_cable_property_state(edev, EXTCON_USB, EXTCON_USB_PROP_VBUS, 1); > > > In the extcon client driver, get state of property as following: > id_state = extcon_get_cable_property_state(edev, EXTCON_USB, EXTCON_USB_PROP_ID); > vbus_state = extcon_get_cable_property_state(edev, EXTCON_USB, EXTCON_USB_PROP_VUBS); How one can receive notifications with this API? Last time you wrote, at the end of discussion: http://thread.gmane.org/gmane.linux.kernel/1923192/focus=1923193 > 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 ... all other participants agreed on that conclusion. So why change of view point now? Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html