From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755625AbbBCBOB (ORCPT ); Mon, 2 Feb 2015 20:14:01 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:21264 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754757AbbBCBN6 (ORCPT ); Mon, 2 Feb 2015 20:13:58 -0500 X-AuditID: cbfee68d-f79296d000004278-d1-54d020d48b28 Message-id: <54D020D3.2030403@samsung.com> Date: Tue, 03 Feb 2015 10:13:55 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-version: 1.0 To: Roger Quadros Cc: myungjoo.ham@samsung.com, balbi@ti.com, tony@atomide.com, george.cherian@ti.com, nsekhar@ti.com, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 1/1] extcon: usb-gpio: Introduce gpio usb extcon driver References: <1422274532-9488-1-git-send-email-rogerq@ti.com> <1422274532-9488-2-git-send-email-rogerq@ti.com> <54C8D2F4.9050404@ti.com> <54CF4FC7.2050309@ti.com> In-reply-to: <54CF4FC7.2050309@ti.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJIsWRmVeSWpSXmKPExsWyRsSkSPeKwoUQg4NXeS0O3q+3mH/kHKvF qYPLWS0u75rDZjF7ST+LxaJlrcwWtxtXsFns793AZNHzSMti/xUvBy6Pb18nsXj0bVnF6HH8 xnYmj8+b5AJYorhsUlJzMstSi/TtErgydk/4ylgwU6hixas2pgbGGXxdjBwcEgImEntu+3cx cgKZYhIX7q1n62Lk4hASWMoocXLKbVaIhInEqaOHmSES0xklXvSdZoVwXjNKfPjxjRlkEq+A lsTh/ZwgDSwCqhKT1jWBNbMBhfe/uMEGYosKhEmsnH6FBcTmFRCU+DH5HpgtIqAocW8lxGZm gVuMEhN2HmQCSQgL+Em0bHqDcNK0kxfBEpwCahKr9jxjB1nMLKAncf+iFkiYWUBeYvOat2CX SgjcYpe4NbWdBeIiAYlvkw+xQLwsK7HpADPEZ5ISB1fcYJnAKDYLyU2zEKbOQjJ1ASPzKkbR 1ILkguKk9CJDveLE3OLSvHS95PzcTYzAGDz971nvDsbbB6wPMQpwMCrx8Fq8PxcixJpYVlyZ e4jRFOiIicxSosn5wEjPK4k3NDYzsjA1MTU2Mrc0UxLnVZT6GSwkkJ5YkpqdmlqQWhRfVJqT WnyIkYmDU6qBsVUqasWl5PbXNhPeGM/Y4N6a/1knXN4oay9fTEx8F5uQ/esrM8K/cPOsa5t7 9dz5T1yrLS7XlcekMq65HRH/r1K68Dunc3a8msqHpDuX79nPqN+RV/HgPiOH1jTO9D9POvdE G64tP+EQXrV6kffqctMdt3KfHrnXkLZ9if8M+zNH/h5TiF+tp8RSnJFoqMVcVJwIAEUk4Pm8 AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCIsWRmVeSWpSXmKPExsVy+t9jQd0rChdCDK7vZrU4eL/eYv6Rc6wW pw4uZ7W4vGsOm8XsJf0sFouWtTJb3G5cwWaxv3cDk0XPIy2L/Ve8HLg8vn2dxOLRt2UVo8fx G9uZPD5vkgtgiWpgtMlITUxJLVJIzUvOT8nMS7dV8g6Od443NTMw1DW0tDBXUshLzE21VXLx CdB1y8wBOkdJoSwxpxQoFJBYXKykb4dpQmiIm64FTGOErm9IEFyPkQEaSFjDmLF7wlfGgplC FStetTE1MM7g62Lk5JAQMJE4dfQwM4QtJnHh3nq2LkYuDiGB6YwSL/pOs0I4rxklPvz4BlTF wcEroCVxeD8nSAOLgKrEpHVNrCA2G1B4/4sbbCC2qECYxMrpV1hAbF4BQYkfk++B2SICihL3 VkIsYBa4xSgxYedBJpCEsICfRMumN1CblzJKTDt5ESzBKaAmsWrPM3aQxcwCehL3L2qBhJkF 5CU2r3nLPIFRYBaSHbMQqmYhqVrAyLyKUTS1ILmgOCk911CvODG3uDQvXS85P3cTIzjGn0nt YFzZYHGIUYCDUYmH1+L9uRAh1sSy4srcQ4wSHMxKIrx+Z86HCPGmJFZWpRblxxeV5qQWH2I0 BYbARGYp0eR8YPrJK4k3NDYxM7I0Mje0MDI2VxLnVbJvCxESSE8sSc1OTS1ILYLpY+LglGpg 5NhrJn+7/Me0+P8/NW/bCO9X3MUq+Lt6/awnW95OnfXex2ZOXpDuXJme5rcHFrV95/08KdSx +2fIFWNRmZRzvyPOP7eoTL4ZXLCUU+uK5wxvvgrLsvgrq5NYV6cXz/jMxWLvuU+anfdLVUpE A1PhW8OlrjEughbX56xLCuRKdPhy1Hgyd52CEktxRqKhFnNRcSIACximTgcDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Roger, Looks good to me. Applied it on v3.21 queue. Thanks, Chanwoo Choi On 02/02/2015 07:21 PM, Roger Quadros wrote: > This driver observes the USB ID pin connected over a GPIO and > updates the USB cable extcon states accordingly. > > The existing GPIO extcon driver is not suitable for this purpose > as it needs to be taught to understand USB cable states and it > can't handle more than one cable per instance. > > For the USB case we need to handle 2 cable states. > 1) USB (attach/detach) > 2) USB-HOST (attach/detach) > > This driver can be easily updated in the future to handle VBUS > events in case it happens to be available on GPIO for any platform. > > Signed-off-by: Roger Quadros > --- > v4: > - got rid of id_irqwake flag. Fail if enable/disable_irq_wake() fails > - changed host cable name to "USB-HOST" > - use 'depends on' instead of 'select' GPIOLIB > > .../devicetree/bindings/extcon/extcon-usb-gpio.txt | 18 ++ > drivers/extcon/Kconfig | 7 + > drivers/extcon/Makefile | 1 + > drivers/extcon/extcon-usb-gpio.c | 237 +++++++++++++++++++++ > 4 files changed, 263 insertions(+) > create mode 100644 Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt > create mode 100644 drivers/extcon/extcon-usb-gpio.c > > diff --git a/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt b/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt > new file mode 100644 > index 0000000..85fe6b0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/extcon/extcon-usb-gpio.txt > @@ -0,0 +1,18 @@ > +USB GPIO Extcon device > + > +This is a virtual device used to generate USB cable states from the USB ID pin > +connected to a GPIO pin. > + > +Required properties: > +- compatible: Should be "linux,extcon-usb-gpio" > +- id-gpio: gpio for USB ID pin. See gpio binding. > + > +Example: I add some description for example as following: +Example: Examples of extcon-usb-gpio node in dra7-evm.dts as listed below: > + extcon_usb1 { > + compatible = "linux,extcon-usb-gpio"; > + id-gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>; > + } > + > + &omap_dwc3_1 { > + extcon = <&extcon_usb1>; > + }; [snip] Thanks, Chanwoo Choi