From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933104AbcFIIjr (ORCPT ); Thu, 9 Jun 2016 04:39:47 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:50860 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932332AbcFIIjn (ORCPT ); Thu, 9 Jun 2016 04:39:43 -0400 X-AuditID: cbfec7f4-f796c6d000001486-33-57592b4b5166 Subject: Re: [RFC v4 0/7] extcon: usb-gpio: fixes and improvements To: Chanwoo Choi , MyungJoo Ham , Rob Herring , Mark Rutland , Kukjin Kim , Marek Szyprowski , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org References: <1465393686-16644-1-git-send-email-k.kozlowski@samsung.com> <57592A40.9080608@samsung.com> Cc: rogerq@ti.com, Peter Chen , "Ivan T. Ivanov" , balbi@ti.com, kishon@ti.com, Bartlomiej Zolnierkiewicz From: Krzysztof Kozlowski Message-id: <57592B4A.4000407@samsung.com> Date: Thu, 09 Jun 2016 10:39:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-version: 1.0 In-reply-to: <57592A40.9080608@samsung.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFIsWRmVeSWpSXmKPExsVy+t/xa7re2pHhBnu3qlhsnLGe1eLg/XqL 61+es1rMP3KO1eLZxIeMFq9fGFr0P37NbHHhaQ+bxabH11gtLu+aw2Yx4/w+Jou1R+6yWyy9 fpHJ4nbjCjaLY7P/Mlm07j3CbtHzSMtB0GPNvDWMHv8O9zN5bFrVyeaxeUm9x6b905g9+ras YvQ4fmM7k8fnTXIBHFFcNimpOZllqUX6dglcGdvuHWcr6BaueLHxAGMD41b+LkZODgkBE4nJ TxezQthiEhfurWfrYuTiEBJYyigxse86K4TzjFFi6fz57CBVwgJOEtM3zGUESYgIfGSSOLT8 EgtE1T5GidvdJ8EcZoFtjBI3en8wg7SwCRhLbF6+hA3E5hXQkpjwbC1YnEVAVaLxzXcmEFtU IEJi1vYfTBA1ghI/Jt9jAbE5BbQlNkzeCdTLATRUXWLKlFyQMLOAvMTmNW+ZJzAKzELSMQuh ahaSqgWMzKsYRVNLkwuKk9JzDfWKE3OLS/PS9ZLzczcxQmLsyw7GxcesDjEKcDAq8fBqpkSE C7EmlhVX5h5ilOBgVhLh3aEcGS7Em5JYWZValB9fVJqTWnyIUZqDRUmcd+6u9yFCAumJJanZ qakFqUUwWSYOTqkGxqQvNxfaNYZK8laLZpySO51r5yybVvzhzp2LOp9eHU3Z7HXqiYRqwg+5 1u0vtv9rEWmIqpyx3Ov/Wd1TspoHC9+d9fApUlT5a5B89cJs8/B8Vf81N/kWnRDL/vyIdVLY 159O6t+W2q7umnW3o3ODaDYfw+RZbgc8RFMn+nTZTPc2Mkjck3zwmhJLcUaioRZzUXEiACCu amatAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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