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

From: Ray Jui
Date: Fri Oct 23 2015 - 12:08:30 EST




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@xxxxxxxxxxxx>
Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx>
Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx>
---

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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/