From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756630Ab3KFL61 (ORCPT ); Wed, 6 Nov 2013 06:58:27 -0500 Received: from arroyo.ext.ti.com ([192.94.94.40]:44767 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756206Ab3KFL6Z (ORCPT ); Wed, 6 Nov 2013 06:58:25 -0500 Message-ID: <527A2E1E.8030308@ti.com> Date: Wed, 6 Nov 2013 13:55:10 +0200 From: Grygorii Strashko User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Prabhakar Lad CC: Sekhar Nori , Linus Walleij , "devicetree@vger.kernel.org" , Rob Herring , Pawel Moll , Mark Rutland , Stephen Warren , Ian Campbell , Rob Landley , Russell King , Grant Likely , Alex Elder , LDOC , LKML , LAK , dlos , "linux-gpio@vger.kernel.org" Subject: Re: [PATCH v4 4/6] gpio: davinci: add OF support References: <1383406775-14902-1-git-send-email-prabhakar.csenng@gmail.com> <1383406775-14902-5-git-send-email-prabhakar.csenng@gmail.com> <5277E752.8090005@ti.com> <527923EF.4070602@ti.com> In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.167.145.75] X-EXCLAIMER-MD-CONFIG: f9c360f5-3d1e-4c3c-8703-f45bf52eff6b Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/06/2013 12:08 PM, Prabhakar Lad wrote: > Hi Grygorii, > > On Tue, Nov 5, 2013 at 10:29 PM, Grygorii Strashko > wrote: >> On 11/05/2013 10:53 AM, Prabhakar Lad wrote:> Hi Grygorii, >> >>> >>> Thanks for the review. >>> >>> On Mon, Nov 4, 2013 at 11:58 PM, Grygorii Strashko >>> wrote: >>>> Hi Prabhakar Lad, >>>> >>>> >>>> On 11/02/2013 05:39 PM, Lad, Prabhakar wrote: >>>>> >>>>> From: KV Sujith >>>>> >>>>> This patch adds OF parser support for davinci gpio >>>>> driver and also appropriate documentation in gpio-davinci.txt >>>>> located at Documentation/devicetree/bindings/gpio/. >>>> >>>> >>>> I worry, do we need to have gpio_chip.of_xlate() callback implemented? >>> >>> I looked for the other OF GPIO implementations with same "ngpio" >>> property (marvel, msm) but I don’t see of_xlate() callback implemented. >> >> The question: will below definitions in DT work or not after this series? >> Will of_get_gpio()/of_get_named_gpio() work? >> >> Example1 - leds: >> leds { >> compatible = "gpio-leds"; >> debug0 { >> label = "green:debug0"; >> gpios = <&gpio 29 GPIO_ACTIVE_HIGH>; >> }; >> }; >> >> Example2 - any dev: >> devA { >> compatible = "devA"; >> gpios = <&gpio 120 GPIO_ACTIVE_LOW>; >> >> } >> >> > Agreed of_get_gpio()/of_get_named_gpio() wont work without > xlate callback implemented, but I think this can be added as a > incremental patch later. > >>> >>>> - From one side, Davinci GPIO controller in DT described by one entry >>>> which defines number of supported GPIOs as "ti,ngpio = <144>;" >>>> >>>> - From other side, on Linux level more than one gpio_chip objects are >>>> instantiated (one per each 32 GPIO). >>>> >>>> How the standard GPIO biding will work in this case? .. And will they? >>>> >>>> Linus, I'd very appreciate if you will be able to clarify this point. >>>> >>>> >>>>> >>>>> Signed-off-by: KV Sujith >>>>> Signed-off-by: Philip Avinash >>>>> [prabhakar.csengg@gmail.com: simplified the OF code, removed >>>>> unnecessary DT property and also simplified >>>>> the commit message] >>>>> Signed-off-by: Lad, Prabhakar >>>>> --- >>>>> .../devicetree/bindings/gpio/gpio-davinci.txt | 32 >>>>> ++++++++++++ >>>>> drivers/gpio/gpio-davinci.c | 54 >>>>> ++++++++++++++++++-- >>>>> 2 files changed, 83 insertions(+), 3 deletions(-) >>>>> create mode 100644 >>>>> Documentation/devicetree/bindings/gpio/gpio-davinci.txt >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt >>>>> b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt >>>>> new file mode 100644 >>>>> index 0000000..55aae1c >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt >>>>> @@ -0,0 +1,32 @@ >>>>> +Davinci GPIO controller bindings29 >> >>>>> + >>>>> +Required Properties: >>>>> +- compatible: should be "ti,dm6441-gpio" >>>>> + >>>>> +- reg: Physical base address of the controller and the size of memory >>>>> mapped >>>>> + registers. >>>>> + >>>>> +- gpio-controller : Marks the device node as a gpio controller. >>>>> + >>>>> +- interrupts: Array of GPIO interrupt number. >>>> >>>> >>>> May be meaning of property need to be extended, because, >>>> as of now, only banked or unbanked IRQs are supported - and not both. >>>> >>>> >>> OK >>> >>>>> + >>>>> +- ti,ngpio: The number of GPIO pins supported. >>>>> + >>>>> +- ti,davinci-gpio-unbanked: The number of GPIOs that have an individual >>>>> interrupt >>>>> + line to processor. >>>> >>>> >>>> Should interrupt-controller; specifier be added here? >>>> >>> No >> >> So, it would be impossible to map GPIO IRQ to device through DT. Right? >> Like: >> devX@0 { >> compatible = "devX"; >> interrupt-parent = <&gpio>; >> interrupts = <50 IRQ_TYPE_EDGE_FALLING>; /* gpio line 50 */ >> >> >> }; >> >> > may be I took you wrong here, the interrupt-controller is inherited > property taken from its parent, so didn’t mention that in the documentation The GPIO controller uses interrupts form parent controller INTC/GIC from one side, but from other side it can provide interrupts to its users. And as result can be interrupt-controller. INTC/GIC -> GPIO -> user It could work for banked IRQs only now :) > > Regards, > --Prabhakar Lad >