diff mbox

[05/11] dt-binding: Add ngpios property to GPIO controller node

Message ID 1445233398-27129-6-git-send-email-pramodku@broadcom.com
State New
Headers show

Commit Message

Pramod Kumar Oct. 19, 2015, 5:43 a.m. UTC
Add ngpios property to the gpio controller's DT node so that controller
driver extracts total number of gpio lines present in controller
from DT and removes dependency on driver.

Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
Reviewed-by: Ray Jui <rjui@broadcom.com>
Reviewed-by: Scott Branden <sbranden@broadcom.com>
---
 Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Rob Herring Oct. 22, 2015, 6:43 p.m. UTC | #1
On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar <pramodku@broadcom.com> wrote:
> Add ngpios property to the gpio controller's DT node so that controller
> driver extracts total number of gpio lines present in controller
> from DT and removes dependency on driver.
>
> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
> Reviewed-by: Ray Jui <rjui@broadcom.com>
> Reviewed-by: Scott Branden <sbranden@broadcom.com>
> ---
>  Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> index f92b833..655a8d7 100644
> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> @@ -10,6 +10,9 @@ Required properties:
>      Define the base and range of the I/O address space that contains the Cygnus
>  GPIO/PINCONF controller registers
>
> +- ngpios:
> +    Total number of GPIOs the controller provides

This must be optional for compatibility and the driver needs to handle
it not present.

> +
>  - #gpio-cells:
>      Must be two. The first cell is the GPIO pin number (within the
>  controller's pin space) and the second cell is used for the following:
> @@ -57,6 +60,7 @@ Example:
>                 compatible = "brcm,cygnus-ccm-gpio";
>                 reg = <0x1800a000 0x50>,
>                       <0x0301d164 0x20>;
> +               ngpios = <24>;
>                 #gpio-cells = <2>;
>                 gpio-controller;
>                 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
> @@ -78,6 +82,7 @@ Example:
>         gpio_asiu: gpio@180a5000 {
>                 compatible = "brcm,cygnus-asiu-gpio";
>                 reg = <0x180a5000 0x668>;
> +               ngpios = <146>;
>                 #gpio-cells = <2>;
>                 gpio-controller;
>                 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> --
> 1.9.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ray Jui Oct. 22, 2015, 6:52 p.m. UTC | #2
On 10/22/2015 11:43 AM, Rob Herring wrote:
> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar <pramodku@broadcom.com> wrote:
>> Add ngpios property to the gpio controller's DT node so that controller
>> driver extracts total number of gpio lines present in controller
>> from DT and removes dependency on driver.
>>
>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
>> Reviewed-by: Ray Jui <rjui@broadcom.com>
>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
>> ---
>>   Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> index f92b833..655a8d7 100644
>> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> @@ -10,6 +10,9 @@ Required properties:
>>       Define the base and range of the I/O address space that contains the Cygnus
>>   GPIO/PINCONF controller registers
>>
>> +- ngpios:
>> +    Total number of GPIOs the controller provides
>
> This must be optional for compatibility and the driver needs to handle
> it not present.
>

You meant to be compatible with existing Cygnus devices, correct?

Just to clarify, here you suggest we still leave the existing hard coded 
ngpios in the driver, in order to be compatible with all existing Cygnus 
devices (while the Cygnus device tree changes to use ngpio is still 
being merged and through different maintainer), and have all new iProc 
SoCs switch to use ngpios from device tree, right?

Thanks,

Ray
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rob Herring Oct. 22, 2015, 11:41 p.m. UTC | #3
On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui <rjui@broadcom.com> wrote:
>
>
> On 10/22/2015 11:43 AM, Rob Herring wrote:
>>
>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar <pramodku@broadcom.com>
>> wrote:
>>>
>>> Add ngpios property to the gpio controller's DT node so that controller
>>> driver extracts total number of gpio lines present in controller
>>> from DT and removes dependency on driver.
>>>
>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
>>> ---
>>>   Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5
>>> +++++
>>>   1 file changed, 5 insertions(+)
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>> index f92b833..655a8d7 100644
>>> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>> @@ -10,6 +10,9 @@ Required properties:
>>>       Define the base and range of the I/O address space that contains
>>> the Cygnus
>>>   GPIO/PINCONF controller registers
>>>
>>> +- ngpios:
>>> +    Total number of GPIOs the controller provides
>>
>>
>> This must be optional for compatibility and the driver needs to handle
>> it not present.
>>
>
> You meant to be compatible with existing Cygnus devices, correct?
>
> Just to clarify, here you suggest we still leave the existing hard coded
> ngpios in the driver, in order to be compatible with all existing Cygnus
> devices (while the Cygnus device tree changes to use ngpio is still being
> merged and through different maintainer), and have all new iProc SoCs switch
> to use ngpios from device tree, right?

Yes, an existing dtb should continue to work with a new kernel. You
can add the DT property to the older devices too and then eventually
remove the hard coded values some time in the future. That could be
immediately (don't care about compatibility at all), a couple of
kernel cycles, never... It all depends on users of the impacted
platforms.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Laurent Pinchart Oct. 23, 2015, 9:08 a.m. UTC | #4
On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
> > On 10/22/2015 11:43 AM, Rob Herring wrote:
> >> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
> >>> Add ngpios property to the gpio controller's DT node so that controller
> >>> driver extracts total number of gpio lines present in controller
> >>> from DT and removes dependency on driver.
> >>> 
> >>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
> >>> Reviewed-by: Ray Jui <rjui@broadcom.com>
> >>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
> >>> ---
> >>> 
> >>>  Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5 +++
> >>>  1 file changed, 5 insertions(+)
> >>> 
> >>> diff --git
> >>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>> index f92b833..655a8d7 100644
> >>> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>> 
> >>> @@ -10,6 +10,9 @@ Required properties:
> >>>       Define the base and range of the I/O address space that contains
> >>> the Cygnus
> >>>   GPIO/PINCONF controller registers
> >>> 
> >>> +- ngpios:
> >>> +    Total number of GPIOs the controller provides
> >> 
> >> This must be optional for compatibility and the driver needs to handle
> >> it not present.
> > 
> > You meant to be compatible with existing Cygnus devices, correct?
> > 
> > Just to clarify, here you suggest we still leave the existing hard coded
> > ngpios in the driver, in order to be compatible with all existing Cygnus
> > devices (while the Cygnus device tree changes to use ngpio is still being
> > merged and through different maintainer), and have all new iProc SoCs
> > switch to use ngpios from device tree, right?
> 
> Yes, an existing dtb should continue to work with a new kernel. You
> can add the DT property to the older devices too and then eventually
> remove the hard coded values some time in the future. That could be
> immediately (don't care about compatibility at all), a couple of
> kernel cycles, never... It all depends on users of the impacted
> platforms.

But shouldn't the property still be documented as required to ensure that new 
DTs always include it ?
Rob Herring Oct. 23, 2015, 11:51 a.m. UTC | #5
On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
>> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
>> > On 10/22/2015 11:43 AM, Rob Herring wrote:
>> >> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
>> >>> Add ngpios property to the gpio controller's DT node so that controller
>> >>> driver extracts total number of gpio lines present in controller
>> >>> from DT and removes dependency on driver.
>> >>>
>> >>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
>> >>> Reviewed-by: Ray Jui <rjui@broadcom.com>
>> >>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
>> >>> ---
>> >>>
>> >>>  Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5 +++
>> >>>  1 file changed, 5 insertions(+)
>> >>>
>> >>> diff --git
>> >>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> >>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> >>> index f92b833..655a8d7 100644
>> >>> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> >>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> >>>
>> >>> @@ -10,6 +10,9 @@ Required properties:
>> >>>       Define the base and range of the I/O address space that contains
>> >>> the Cygnus
>> >>>   GPIO/PINCONF controller registers
>> >>>
>> >>> +- ngpios:
>> >>> +    Total number of GPIOs the controller provides
>> >>
>> >> This must be optional for compatibility and the driver needs to handle
>> >> it not present.
>> >
>> > You meant to be compatible with existing Cygnus devices, correct?
>> >
>> > Just to clarify, here you suggest we still leave the existing hard coded
>> > ngpios in the driver, in order to be compatible with all existing Cygnus
>> > devices (while the Cygnus device tree changes to use ngpio is still being
>> > merged and through different maintainer), and have all new iProc SoCs
>> > switch to use ngpios from device tree, right?
>>
>> Yes, an existing dtb should continue to work with a new kernel. You
>> can add the DT property to the older devices too and then eventually
>> remove the hard coded values some time in the future. That could be
>> immediately (don't care about compatibility at all), a couple of
>> kernel cycles, never... It all depends on users of the impacted
>> platforms.
>
> But shouldn't the property still be documented as required to ensure that new
> DTs always include it ?

Good point. If the intent is to eventually remove it from the driver,
then yes. We probably need "required for new designs" as a category or
maybe "recommended"? The wording is not so important here, but I'm
thinking about as we try to standardize the naming.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Laurent Pinchart Oct. 23, 2015, 1:02 p.m. UTC | #6
Hi Rob,

On Friday 23 October 2015 06:51:28 Rob Herring wrote:
> On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart wrote:
> > On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
> >> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
> >>> On 10/22/2015 11:43 AM, Rob Herring wrote:
> >>>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
> >>>>> Add ngpios property to the gpio controller's DT node so that
> >>>>> controller driver extracts total number of gpio lines present in
> >>>>> controller from DT and removes dependency on driver.
> >>>>> 
> >>>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
> >>>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
> >>>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
> >>>>> ---
> >>>>> 
> >>>>>  Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5
> >>>>>  +++
> >>>>>  1 file changed, 5 insertions(+)
> >>>>> 
> >>>>> diff --git
> >>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>> index f92b833..655a8d7 100644
> >>>>> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>> 
> >>>>> @@ -10,6 +10,9 @@ Required properties:
> >>>>>       Define the base and range of the I/O address space that
> >>>>>       contains
> >>>>> 
> >>>>> the Cygnus
> >>>>> 
> >>>>>   GPIO/PINCONF controller registers
> >>>>> 
> >>>>> +- ngpios:
> >>>> +    Total number of GPIOs the controller provides
> >>>> 
> >>>> This must be optional for compatibility and the driver needs to handle
> >>>> it not present.
> >>> 
> >>> You meant to be compatible with existing Cygnus devices, correct?
> >>> 
> >>> Just to clarify, here you suggest we still leave the existing hard
> >>> coded ngpios in the driver, in order to be compatible with all existing
> >>> Cygnus devices (while the Cygnus device tree changes to use ngpio is
> >>> still being merged and through different maintainer), and have all new
> >>> iProc SoCs switch to use ngpios from device tree, right?
> >> 
> >> Yes, an existing dtb should continue to work with a new kernel. You
> >> can add the DT property to the older devices too and then eventually
> >> remove the hard coded values some time in the future. That could be
> >> immediately (don't care about compatibility at all), a couple of
> >> kernel cycles, never... It all depends on users of the impacted
> >> platforms.
> > 
> > But shouldn't the property still be documented as required to ensure that
> > new DTs always include it ?
> 
> Good point. If the intent is to eventually remove it from the driver,
> then yes. We probably need "required for new designs" as a category or
> maybe "recommended"? The wording is not so important here, but I'm
> thinking about as we try to standardize the naming.

Required for new designs sounds better than recommended. Or maybe something 
like "Required (optional for backward compatibility)".
Ray Jui Oct. 23, 2015, 4:08 p.m. UTC | #7
On 10/23/2015 6:02 AM, Laurent Pinchart wrote:
> Hi Rob,
>
> On Friday 23 October 2015 06:51:28 Rob Herring wrote:
>> On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart wrote:
>>> On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
>>>> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
>>>>> On 10/22/2015 11:43 AM, Rob Herring wrote:
>>>>>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
>>>>>>> Add ngpios property to the gpio controller's DT node so that
>>>>>>> controller driver extracts total number of gpio lines present in
>>>>>>> controller from DT and removes dependency on driver.
>>>>>>>
>>>>>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
>>>>>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
>>>>>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
>>>>>>> ---
>>>>>>>
>>>>>>>   Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5
>>>>>>>   +++
>>>>>>>   1 file changed, 5 insertions(+)
>>>>>>>
>>>>>>> diff --git
>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>> index f92b833..655a8d7 100644
>>>>>>> --- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>>
>>>>>>> @@ -10,6 +10,9 @@ Required properties:
>>>>>>>        Define the base and range of the I/O address space that
>>>>>>>        contains
>>>>>>>
>>>>>>> the Cygnus
>>>>>>>
>>>>>>>    GPIO/PINCONF controller registers
>>>>>>>
>>>>>>> +- ngpios:
>>>>>> +    Total number of GPIOs the controller provides
>>>>>>
>>>>>> This must be optional for compatibility and the driver needs to handle
>>>>>> it not present.
>>>>>
>>>>> You meant to be compatible with existing Cygnus devices, correct?
>>>>>
>>>>> Just to clarify, here you suggest we still leave the existing hard
>>>>> coded ngpios in the driver, in order to be compatible with all existing
>>>>> Cygnus devices (while the Cygnus device tree changes to use ngpio is
>>>>> still being merged and through different maintainer), and have all new
>>>>> iProc SoCs switch to use ngpios from device tree, right?
>>>>
>>>> Yes, an existing dtb should continue to work with a new kernel. You
>>>> can add the DT property to the older devices too and then eventually
>>>> remove the hard coded values some time in the future. That could be
>>>> immediately (don't care about compatibility at all), a couple of
>>>> kernel cycles, never... It all depends on users of the impacted
>>>> platforms.
>>>
>>> But shouldn't the property still be documented as required to ensure that
>>> new DTs always include it ?
>>
>> Good point. If the intent is to eventually remove it from the driver,
>> then yes. We probably need "required for new designs" as a category or
>> maybe "recommended"? The wording is not so important here, but I'm
>> thinking about as we try to standardize the naming.
>
> Required for new designs sounds better than recommended. Or maybe something
> like "Required (optional for backward compatibility)".
>

Yes, it should be phrased as "required for new designs" because all new 
iProc SoCs using this GPIO driver need to have this in DT.

Thanks,

Ray
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pramod Kumar Oct. 26, 2015, 5:08 p.m. UTC | #8
> -----Original Message-----
> From: Ray Jui [mailto:rjui@broadcom.com]
> Sent: 23 October 2015 21:38
> To: Laurent Pinchart; Rob Herring
> Cc: Pramod Kumar; Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala; Scott
> Branden; Russell King; Linus Walleij; linux-gpio@vger.kernel.org; bcm-kernel-
> feedback-list; Jason Uy; Masahiro Yamada; Thomas Gleixner;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-
> kernel@vger.kernel.org; Jonas Gorski
> Subject: Re: [PATCH 05/11] dt-binding: Add ngpios property to GPIO controller
> node
> 
> 
> 
> On 10/23/2015 6:02 AM, Laurent Pinchart wrote:
> > Hi Rob,
> >
> > On Friday 23 October 2015 06:51:28 Rob Herring wrote:
> >> On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart wrote:
> >>> On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
> >>>> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
> >>>>> On 10/22/2015 11:43 AM, Rob Herring wrote:
> >>>>>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
> >>>>>>> Add ngpios property to the gpio controller's DT node so that
> >>>>>>> controller driver extracts total number of gpio lines present in
> >>>>>>> controller from DT and removes dependency on driver.
> >>>>>>>
> >>>>>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
> >>>>>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
> >>>>>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
> >>>>>>> ---
> >>>>>>>
> >>>>>>>   Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5
> >>>>>>>   +++
> >>>>>>>   1 file changed, 5 insertions(+)
> >>>>>>>
> >>>>>>> diff --git
> >>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>>>> index f92b833..655a8d7 100644
> >>>>>>> ---
> >>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> >>>>>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio
> >>>>>>> +++ .txt
> >>>>>>>
> >>>>>>> @@ -10,6 +10,9 @@ Required properties:
> >>>>>>>        Define the base and range of the I/O address space that
> >>>>>>>        contains
> >>>>>>>
> >>>>>>> the Cygnus
> >>>>>>>
> >>>>>>>    GPIO/PINCONF controller registers
> >>>>>>>
> >>>>>>> +- ngpios:
> >>>>>> +    Total number of GPIOs the controller provides
> >>>>>>
> >>>>>> This must be optional for compatibility and the driver needs to
> >>>>>> handle it not present.
> >>>>>
> >>>>> You meant to be compatible with existing Cygnus devices, correct?
> >>>>>
> >>>>> Just to clarify, here you suggest we still leave the existing hard
> >>>>> coded ngpios in the driver, in order to be compatible with all
> >>>>> existing Cygnus devices (while the Cygnus device tree changes to
> >>>>> use ngpio is still being merged and through different maintainer),
> >>>>> and have all new iProc SoCs switch to use ngpios from device tree, right?
> >>>>
> >>>> Yes, an existing dtb should continue to work with a new kernel. You
> >>>> can add the DT property to the older devices too and then
> >>>> eventually remove the hard coded values some time in the future.
> >>>> That could be immediately (don't care about compatibility at all),
> >>>> a couple of kernel cycles, never... It all depends on users of the
> >>>> impacted platforms.
> >>>
> >>> But shouldn't the property still be documented as required to ensure
> >>> that new DTs always include it ?
> >>
> >> Good point. If the intent is to eventually remove it from the driver,
> >> then yes. We probably need "required for new designs" as a category
> >> or maybe "recommended"? The wording is not so important here, but I'm
> >> thinking about as we try to standardize the naming.
> >
> > Required for new designs sounds better than recommended. Or maybe
> > something like "Required (optional for backward compatibility)".
> >
> 
> Yes, it should be phrased as "required for new designs" because all new iProc
> SoCs using this GPIO driver need to have this in DT.
> 
> Thanks,
> 
> Ray

Thanks for providing feedback. I'll make sure to use this property under phrase " required for new designs " in next patch set.

Regards,
Pramod
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ray Jui Oct. 26, 2015, 5:12 p.m. UTC | #9
Hi Pramod,

On 10/26/2015 10:08 AM, Pramod Kumar wrote:
>
>
>> -----Original Message-----
>> From: Ray Jui [mailto:rjui@broadcom.com]
>> Sent: 23 October 2015 21:38
>> To: Laurent Pinchart; Rob Herring
>> Cc: Pramod Kumar; Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala; Scott
>> Branden; Russell King; Linus Walleij; linux-gpio@vger.kernel.org; bcm-kernel-
>> feedback-list; Jason Uy; Masahiro Yamada; Thomas Gleixner;
>> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-
>> kernel@vger.kernel.org; Jonas Gorski
>> Subject: Re: [PATCH 05/11] dt-binding: Add ngpios property to GPIO controller
>> node
>>
>>
>>
>> On 10/23/2015 6:02 AM, Laurent Pinchart wrote:
>>> Hi Rob,
>>>
>>> On Friday 23 October 2015 06:51:28 Rob Herring wrote:
>>>> On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart wrote:
>>>>> On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
>>>>>> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
>>>>>>> On 10/22/2015 11:43 AM, Rob Herring wrote:
>>>>>>>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
>>>>>>>>> Add ngpios property to the gpio controller's DT node so that
>>>>>>>>> controller driver extracts total number of gpio lines present in
>>>>>>>>> controller from DT and removes dependency on driver.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
>>>>>>>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
>>>>>>>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
>>>>>>>>> ---
>>>>>>>>>
>>>>>>>>>    Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt | 5
>>>>>>>>>    +++
>>>>>>>>>    1 file changed, 5 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git
>>>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>>>> index f92b833..655a8d7 100644
>>>>>>>>> ---
>>>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>>>>>>>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio
>>>>>>>>> +++ .txt
>>>>>>>>>
>>>>>>>>> @@ -10,6 +10,9 @@ Required properties:
>>>>>>>>>         Define the base and range of the I/O address space that
>>>>>>>>>         contains
>>>>>>>>>
>>>>>>>>> the Cygnus
>>>>>>>>>
>>>>>>>>>     GPIO/PINCONF controller registers
>>>>>>>>>
>>>>>>>>> +- ngpios:
>>>>>>>> +    Total number of GPIOs the controller provides
>>>>>>>>
>>>>>>>> This must be optional for compatibility and the driver needs to
>>>>>>>> handle it not present.
>>>>>>>
>>>>>>> You meant to be compatible with existing Cygnus devices, correct?
>>>>>>>
>>>>>>> Just to clarify, here you suggest we still leave the existing hard
>>>>>>> coded ngpios in the driver, in order to be compatible with all
>>>>>>> existing Cygnus devices (while the Cygnus device tree changes to
>>>>>>> use ngpio is still being merged and through different maintainer),
>>>>>>> and have all new iProc SoCs switch to use ngpios from device tree, right?
>>>>>>
>>>>>> Yes, an existing dtb should continue to work with a new kernel. You
>>>>>> can add the DT property to the older devices too and then
>>>>>> eventually remove the hard coded values some time in the future.
>>>>>> That could be immediately (don't care about compatibility at all),
>>>>>> a couple of kernel cycles, never... It all depends on users of the
>>>>>> impacted platforms.
>>>>>
>>>>> But shouldn't the property still be documented as required to ensure
>>>>> that new DTs always include it ?
>>>>
>>>> Good point. If the intent is to eventually remove it from the driver,
>>>> then yes. We probably need "required for new designs" as a category
>>>> or maybe "recommended"? The wording is not so important here, but I'm
>>>> thinking about as we try to standardize the naming.
>>>
>>> Required for new designs sounds better than recommended. Or maybe
>>> something like "Required (optional for backward compatibility)".
>>>
>>
>> Yes, it should be phrased as "required for new designs" because all new iProc
>> SoCs using this GPIO driver need to have this in DT.
>>
>> Thanks,
>>
>> Ray
>
> Thanks for providing feedback. I'll make sure to use this property under phrase " required for new designs " in next patch set.
>
> Regards,
> Pramod
>

To confirm, is your plan:

1) Continue to support hardcoded ngpios in the driver for the current 
SoC Cygnus
2) Proceed with Cygnus DTS changes to switch to DT based ngpios 
configuration
3) Modify the document to make DT ngpios a required property for all new 
SoCs including NSP, NS2, and etc.

?

Thanks,

Ray
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pramod Kumar Oct. 26, 2015, 6:06 p.m. UTC | #10
Hi Ray,

> -----Original Message-----
> From: Ray Jui [mailto:rjui@broadcom.com]
> Sent: 26 October 2015 22:43
> To: Pramod Kumar; Laurent Pinchart; Rob Herring
> Cc: Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala; Scott Branden; Russell
> King; Linus Walleij; linux-gpio@vger.kernel.org; bcm-kernel-feedback-list; Jason
> Uy; Masahiro Yamada; Thomas Gleixner; devicetree@vger.kernel.org; linux-
> arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Jonas Gorski
> Subject: Re: [PATCH 05/11] dt-binding: Add ngpios property to GPIO controller
> node
> 
> Hi Pramod,
> 
> On 10/26/2015 10:08 AM, Pramod Kumar wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ray Jui [mailto:rjui@broadcom.com]
> >> Sent: 23 October 2015 21:38
> >> To: Laurent Pinchart; Rob Herring
> >> Cc: Pramod Kumar; Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala;
> >> Scott Branden; Russell King; Linus Walleij;
> >> linux-gpio@vger.kernel.org; bcm-kernel- feedback-list; Jason Uy;
> >> Masahiro Yamada; Thomas Gleixner; devicetree@vger.kernel.org;
> >> linux-arm-kernel@lists.infradead.org; linux- kernel@vger.kernel.org;
> >> Jonas Gorski
> >> Subject: Re: [PATCH 05/11] dt-binding: Add ngpios property to GPIO
> >> controller node
> >>
> >>
> >>
> >> On 10/23/2015 6:02 AM, Laurent Pinchart wrote:
> >>> Hi Rob,
> >>>
> >>> On Friday 23 October 2015 06:51:28 Rob Herring wrote:
> >>>> On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart wrote:
> >>>>> On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
> >>>>>> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
> >>>>>>> On 10/22/2015 11:43 AM, Rob Herring wrote:
> >>>>>>>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
> >>>>>>>>> Add ngpios property to the gpio controller's DT node so that
> >>>>>>>>> controller driver extracts total number of gpio lines present
> >>>>>>>>> in controller from DT and removes dependency on driver.
> >>>>>>>>>
> >>>>>>>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
> >>>>>>>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
> >>>>>>>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
> >>>>>>>>> ---
> >>>>>>>>>
> >>>>>>>>>    Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
> | 5
> >>>>>>>>>    +++
> >>>>>>>>>    1 file changed, 5 insertions(+)
> >>>>>>>>>
> >>>>>>>>> diff --git
> >>>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.t
> >>>>>>>>> xt
> >>>>>>>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.t
> >>>>>>>>> xt
> >>>>>>>>> index f92b833..655a8d7 100644
> >>>>>>>>> ---
> >>>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.t
> >>>>>>>>> xt
> >>>>>>>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gp
> >>>>>>>>> +++ io
> >>>>>>>>> +++ .txt
> >>>>>>>>>
> >>>>>>>>> @@ -10,6 +10,9 @@ Required properties:
> >>>>>>>>>         Define the base and range of the I/O address space that
> >>>>>>>>>         contains
> >>>>>>>>>
> >>>>>>>>> the Cygnus
> >>>>>>>>>
> >>>>>>>>>     GPIO/PINCONF controller registers
> >>>>>>>>>
> >>>>>>>>> +- ngpios:
> >>>>>>>> +    Total number of GPIOs the controller provides
> >>>>>>>>
> >>>>>>>> This must be optional for compatibility and the driver needs to
> >>>>>>>> handle it not present.
> >>>>>>>
> >>>>>>> You meant to be compatible with existing Cygnus devices, correct?
> >>>>>>>
> >>>>>>> Just to clarify, here you suggest we still leave the existing
> >>>>>>> hard coded ngpios in the driver, in order to be compatible with
> >>>>>>> all existing Cygnus devices (while the Cygnus device tree
> >>>>>>> changes to use ngpio is still being merged and through different
> >>>>>>> maintainer), and have all new iProc SoCs switch to use ngpios from
> device tree, right?
> >>>>>>
> >>>>>> Yes, an existing dtb should continue to work with a new kernel.
> >>>>>> You can add the DT property to the older devices too and then
> >>>>>> eventually remove the hard coded values some time in the future.
> >>>>>> That could be immediately (don't care about compatibility at
> >>>>>> all), a couple of kernel cycles, never... It all depends on users
> >>>>>> of the impacted platforms.
> >>>>>
> >>>>> But shouldn't the property still be documented as required to
> >>>>> ensure that new DTs always include it ?
> >>>>
> >>>> Good point. If the intent is to eventually remove it from the
> >>>> driver, then yes. We probably need "required for new designs" as a
> >>>> category or maybe "recommended"? The wording is not so important
> >>>> here, but I'm thinking about as we try to standardize the naming.
> >>>
> >>> Required for new designs sounds better than recommended. Or maybe
> >>> something like "Required (optional for backward compatibility)".
> >>>
> >>
> >> Yes, it should be phrased as "required for new designs" because all
> >> new iProc SoCs using this GPIO driver need to have this in DT.
> >>
> >> Thanks,
> >>
> >> Ray
> >
> > Thanks for providing feedback. I'll make sure to use this property under phrase
> " required for new designs " in next patch set.
> >
> > Regards,
> > Pramod
> >
> 
> To confirm, is your plan:
> 
> 1) Continue to support hardcoded ngpios in the driver for the current SoC Cygnus
> 2) Proceed with Cygnus DTS changes to switch to DT based ngpios configuration
> 3) Modify the document to make DT ngpios a required property for all new SoCs
> including NSP, NS2, and etc.
> 
> ?
> 
> Thanks,
> 
> Ray

Ok. This patch-set is to make this driver more generic so that all future SoCs , as you mentioned like NS2, NSP, Stingray, could use it.  Since This Cygnus is in very very early stage and No customer is using it so we can afford it to address ngpio from DT and remove Cygnus hard coded values immediately from this patch. Otherwise we will see the same issue with "gpios-ranges" property and this will be highly inter-dependent as well.   

Regards,
Pramod


--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ray Jui Oct. 26, 2015, 6:08 p.m. UTC | #11
Hi Pramod,

On 10/26/2015 11:06 AM, Pramod Kumar wrote:
> Hi Ray,
>
>> -----Original Message-----
>> From: Ray Jui [mailto:rjui@broadcom.com]
>> Sent: 26 October 2015 22:43
>> To: Pramod Kumar; Laurent Pinchart; Rob Herring
>> Cc: Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala; Scott Branden; Russell
>> King; Linus Walleij; linux-gpio@vger.kernel.org; bcm-kernel-feedback-list; Jason
>> Uy; Masahiro Yamada; Thomas Gleixner; devicetree@vger.kernel.org; linux-
>> arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Jonas Gorski
>> Subject: Re: [PATCH 05/11] dt-binding: Add ngpios property to GPIO controller
>> node
>>
>> Hi Pramod,
>>
>> On 10/26/2015 10:08 AM, Pramod Kumar wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Ray Jui [mailto:rjui@broadcom.com]
>>>> Sent: 23 October 2015 21:38
>>>> To: Laurent Pinchart; Rob Herring
>>>> Cc: Pramod Kumar; Pawel Moll; Mark Rutland; Ian Campbell; Kumar Gala;
>>>> Scott Branden; Russell King; Linus Walleij;
>>>> linux-gpio@vger.kernel.org; bcm-kernel- feedback-list; Jason Uy;
>>>> Masahiro Yamada; Thomas Gleixner; devicetree@vger.kernel.org;
>>>> linux-arm-kernel@lists.infradead.org; linux- kernel@vger.kernel.org;
>>>> Jonas Gorski
>>>> Subject: Re: [PATCH 05/11] dt-binding: Add ngpios property to GPIO
>>>> controller node
>>>>
>>>>
>>>>
>>>> On 10/23/2015 6:02 AM, Laurent Pinchart wrote:
>>>>> Hi Rob,
>>>>>
>>>>> On Friday 23 October 2015 06:51:28 Rob Herring wrote:
>>>>>> On Fri, Oct 23, 2015 at 4:08 AM, Laurent Pinchart wrote:
>>>>>>> On Thursday 22 October 2015 18:41:05 Rob Herring wrote:
>>>>>>>> On Thu, Oct 22, 2015 at 1:52 PM, Ray Jui wrote:
>>>>>>>>> On 10/22/2015 11:43 AM, Rob Herring wrote:
>>>>>>>>>> On Mon, Oct 19, 2015 at 12:43 AM, Pramod Kumar wrote:
>>>>>>>>>>> Add ngpios property to the gpio controller's DT node so that
>>>>>>>>>>> controller driver extracts total number of gpio lines present
>>>>>>>>>>> in controller from DT and removes dependency on driver.
>>>>>>>>>>>
>>>>>>>>>>> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
>>>>>>>>>>> Reviewed-by: Ray Jui <rjui@broadcom.com>
>>>>>>>>>>> Reviewed-by: Scott Branden <sbranden@broadcom.com>
>>>>>>>>>>> ---
>>>>>>>>>>>
>>>>>>>>>>>     Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
>> | 5
>>>>>>>>>>>     +++
>>>>>>>>>>>     1 file changed, 5 insertions(+)
>>>>>>>>>>>
>>>>>>>>>>> diff --git
>>>>>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.t
>>>>>>>>>>> xt
>>>>>>>>>>> b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.t
>>>>>>>>>>> xt
>>>>>>>>>>> index f92b833..655a8d7 100644
>>>>>>>>>>> ---
>>>>>>>>>>> a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.t
>>>>>>>>>>> xt
>>>>>>>>>>> +++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gp
>>>>>>>>>>> +++ io
>>>>>>>>>>> +++ .txt
>>>>>>>>>>>
>>>>>>>>>>> @@ -10,6 +10,9 @@ Required properties:
>>>>>>>>>>>          Define the base and range of the I/O address space that
>>>>>>>>>>>          contains
>>>>>>>>>>>
>>>>>>>>>>> the Cygnus
>>>>>>>>>>>
>>>>>>>>>>>      GPIO/PINCONF controller registers
>>>>>>>>>>>
>>>>>>>>>>> +- ngpios:
>>>>>>>>>> +    Total number of GPIOs the controller provides
>>>>>>>>>>
>>>>>>>>>> This must be optional for compatibility and the driver needs to
>>>>>>>>>> handle it not present.
>>>>>>>>>
>>>>>>>>> You meant to be compatible with existing Cygnus devices, correct?
>>>>>>>>>
>>>>>>>>> Just to clarify, here you suggest we still leave the existing
>>>>>>>>> hard coded ngpios in the driver, in order to be compatible with
>>>>>>>>> all existing Cygnus devices (while the Cygnus device tree
>>>>>>>>> changes to use ngpio is still being merged and through different
>>>>>>>>> maintainer), and have all new iProc SoCs switch to use ngpios from
>> device tree, right?
>>>>>>>>
>>>>>>>> Yes, an existing dtb should continue to work with a new kernel.
>>>>>>>> You can add the DT property to the older devices too and then
>>>>>>>> eventually remove the hard coded values some time in the future.
>>>>>>>> That could be immediately (don't care about compatibility at
>>>>>>>> all), a couple of kernel cycles, never... It all depends on users
>>>>>>>> of the impacted platforms.
>>>>>>>
>>>>>>> But shouldn't the property still be documented as required to
>>>>>>> ensure that new DTs always include it ?
>>>>>>
>>>>>> Good point. If the intent is to eventually remove it from the
>>>>>> driver, then yes. We probably need "required for new designs" as a
>>>>>> category or maybe "recommended"? The wording is not so important
>>>>>> here, but I'm thinking about as we try to standardize the naming.
>>>>>
>>>>> Required for new designs sounds better than recommended. Or maybe
>>>>> something like "Required (optional for backward compatibility)".
>>>>>
>>>>
>>>> Yes, it should be phrased as "required for new designs" because all
>>>> new iProc SoCs using this GPIO driver need to have this in DT.
>>>>
>>>> Thanks,
>>>>
>>>> Ray
>>>
>>> Thanks for providing feedback. I'll make sure to use this property under phrase
>> " required for new designs " in next patch set.
>>>
>>> Regards,
>>> Pramod
>>>
>>
>> To confirm, is your plan:
>>
>> 1) Continue to support hardcoded ngpios in the driver for the current SoC Cygnus
>> 2) Proceed with Cygnus DTS changes to switch to DT based ngpios configuration
>> 3) Modify the document to make DT ngpios a required property for all new SoCs
>> including NSP, NS2, and etc.
>>
>> ?
>>
>> Thanks,
>>
>> Ray
>
> Ok. This patch-set is to make this driver more generic so that all future SoCs , as you mentioned like NS2, NSP, Stingray, could use it.  Since This Cygnus is in very very early stage and No customer is using it so we can afford it to address ngpio from DT and remove Cygnus hard coded values immediately from this patch. Otherwise we will see the same issue with "gpios-ranges" property and this will be highly inter-dependent as well.
>
> Regards,
> Pramod
>

That sounds fine to me. In this case, the patch set stays as it is and 
no change is required.

Thanks,

Ray
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij Oct. 27, 2015, 9:41 a.m. UTC | #12
On Mon, Oct 19, 2015 at 7:43 AM, Pramod Kumar <pramodku@broadcom.com> wrote:

> Add ngpios property to the gpio controller's DT node so that controller
> driver extracts total number of gpio lines present in controller
> from DT and removes dependency on driver.
>
> Signed-off-by: Pramod Kumar <pramodku@broadcom.com>
> Reviewed-by: Ray Jui <rjui@broadcom.com>
> Reviewed-by: Scott Branden <sbranden@broadcom.com>
(...)
> +- ngpios:
> +    Total number of GPIOs the controller provides

This description is wrong. The number of GPIOs the controller *provides*
is to be determined by the compatible-string.

ngpios is used to restrict the number of lines *used* or *routed* from
the number *available*. (I hope that is what the code does as well.)
Such as if 12 GPIOs are used of the 32 available on 32bits in a
register.

Update this description to say what it really means.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pramod Kumar Oct. 28, 2015, 5:14 a.m. UTC | #13
SGkgTGludXMsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGludXMg
V2FsbGVpaiBbbWFpbHRvOmxpbnVzLndhbGxlaWpAbGluYXJvLm9yZ10NCj4gU2VudDogMjcgT2N0
b2JlciAyMDE1IDE1OjExDQo+IFRvOiBQcmFtb2QgS3VtYXINCj4gQ2M6IFJvYiBIZXJyaW5nOyBQ
YXdlbCBNb2xsOyBNYXJrIFJ1dGxhbmQ7IElhbiBDYW1wYmVsbDsgS3VtYXIgR2FsYTsgUmF5IEp1
aTsNCj4gU2NvdHQgQnJhbmRlbjsgUnVzc2VsbCBLaW5nOyBsaW51eC1ncGlvQHZnZXIua2VybmVs
Lm9yZzsgYmNtLWtlcm5lbC1mZWVkYmFjay0NCj4gbGlzdDsgSmFzb24gVXk7IE1hc2FoaXJvIFlh
bWFkYTsgVGhvbWFzIEdsZWl4bmVyOyBMYXVyZW50IFBpbmNoYXJ0Ow0KPiBkZXZpY2V0cmVlQHZn
ZXIua2VybmVsLm9yZzsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51
eC0NCj4ga2VybmVsQHZnZXIua2VybmVsLm9yZzsgSm9uYXMgR29yc2tpDQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggMDUvMTFdIGR0LWJpbmRpbmc6IEFkZCBuZ3Bpb3MgcHJvcGVydHkgdG8gR1BJTyBj
b250cm9sbGVyDQo+IG5vZGUNCj4gDQo+IE9uIE1vbiwgT2N0IDE5LCAyMDE1IGF0IDc6NDMgQU0s
IFByYW1vZCBLdW1hciA8cHJhbW9ka3VAYnJvYWRjb20uY29tPg0KPiB3cm90ZToNCj4gDQo+ID4g
QWRkIG5ncGlvcyBwcm9wZXJ0eSB0byB0aGUgZ3BpbyBjb250cm9sbGVyJ3MgRFQgbm9kZSBzbyB0
aGF0DQo+ID4gY29udHJvbGxlciBkcml2ZXIgZXh0cmFjdHMgdG90YWwgbnVtYmVyIG9mIGdwaW8g
bGluZXMgcHJlc2VudCBpbg0KPiA+IGNvbnRyb2xsZXIgZnJvbSBEVCBhbmQgcmVtb3ZlcyBkZXBl
bmRlbmN5IG9uIGRyaXZlci4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFByYW1vZCBLdW1hciA8
cHJhbW9ka3VAYnJvYWRjb20uY29tPg0KPiA+IFJldmlld2VkLWJ5OiBSYXkgSnVpIDxyanVpQGJy
b2FkY29tLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogU2NvdHQgQnJhbmRlbiA8c2JyYW5kZW5AYnJv
YWRjb20uY29tPg0KPiAoLi4uKQ0KPiA+ICstIG5ncGlvczoNCj4gPiArICAgIFRvdGFsIG51bWJl
ciBvZiBHUElPcyB0aGUgY29udHJvbGxlciBwcm92aWRlcw0KPiANCj4gVGhpcyBkZXNjcmlwdGlv
biBpcyB3cm9uZy4gVGhlIG51bWJlciBvZiBHUElPcyB0aGUgY29udHJvbGxlciAqcHJvdmlkZXMq
IGlzIHRvDQo+IGJlIGRldGVybWluZWQgYnkgdGhlIGNvbXBhdGlibGUtc3RyaW5nLg0KPiANCj4g
bmdwaW9zIGlzIHVzZWQgdG8gcmVzdHJpY3QgdGhlIG51bWJlciBvZiBsaW5lcyAqdXNlZCogb3Ig
KnJvdXRlZCogZnJvbSB0aGUNCj4gbnVtYmVyICphdmFpbGFibGUqLiAoSSBob3BlIHRoYXQgaXMg
d2hhdCB0aGUgY29kZSBkb2VzIGFzIHdlbGwuKSBTdWNoIGFzIGlmIDEyDQo+IEdQSU9zIGFyZSB1
c2VkIG9mIHRoZSAzMiBhdmFpbGFibGUgb24gMzJiaXRzIGluIGEgcmVnaXN0ZXIuDQo+IA0KPiBV
cGRhdGUgdGhpcyBkZXNjcmlwdGlvbiB0byBzYXkgd2hhdCBpdCByZWFsbHkgbWVhbnMuDQo+IA0K
PiBZb3VycywNCj4gTGludXMgV2FsbGVpag0KDQpUaGFua3MgZm9yIHJldmlld2luZyAuIFdpbGwg
dXBkYXRlIHRoZSBkZXNjcmlwdGlvbi4NCg0KUmVnYXJkcywNClByYW1vZA0K
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
index f92b833..655a8d7 100644
--- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt
@@ -10,6 +10,9 @@  Required properties:
     Define the base and range of the I/O address space that contains the Cygnus
 GPIO/PINCONF controller registers
 
+- ngpios:
+    Total number of GPIOs the controller provides
+
 - #gpio-cells:
     Must be two. The first cell is the GPIO pin number (within the
 controller's pin space) and the second cell is used for the following:
@@ -57,6 +60,7 @@  Example:
 		compatible = "brcm,cygnus-ccm-gpio";
 		reg = <0x1800a000 0x50>,
 		      <0x0301d164 0x20>;
+		ngpios = <24>;
 		#gpio-cells = <2>;
 		gpio-controller;
 		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
@@ -78,6 +82,7 @@  Example:
 	gpio_asiu: gpio@180a5000 {
 		compatible = "brcm,cygnus-asiu-gpio";
 		reg = <0x180a5000 0x668>;
+		ngpios = <146>;
 		#gpio-cells = <2>;
 		gpio-controller;
 		interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;