Skip to contentSkip to conversation

R-Car GPIO DT bindings

PATCH New Laurent Pinchart 5 participants 14 messages May 21, 2013 – Jun 13, 2013

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v2 cover R-Car GPIO DT bindings

Hello,

Here's the second version of the gpio-rcar driver DT bindings. I've tested the patches on the Marzen board (r8a7779).

Once again I'd appreciate feedback on the DT bindings. I'm particularly wondering whether getting the number of lines through the gpio-ranges property instead of using a dedicated #gpio-lines property as in v1 is a good idea.

Changes since v1:

- Initialize the gpiochip dev field at probe time.
- Add the gpio-ranges property.
- Remove the #gpio-lines property. The number of lines is now passed through the gpio-ranges property.

Laurent Pinchart (2):
gpio-rcar: Make the platform data gpio_base field signed
gpio-rcar: Add DT support

 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 ++++++++++++++++++----
 include/linux/platform_data/gpio-rcar.h            |  2 +-
 3 files changed, 109 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
Signature · 3 lines
Regards,

Laurent Pinchart
#1 lore raw

PATCH v2 1/2 gpio-rcar: Make the platform data gpio_base field signed

The gpio_base field is used to specify the desired GPIO base for the GPIO controller. The GPIO core can automatically allocate a GPIO number range when the base is set to -1. To make this possible, make the field signed.

---
 include/linux/platform_data/gpio-rcar.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/linux/platform_data/gpio-rcar.h +1 -1
index cc472f6..fb2c718 100644
@@ -17,7 +17,7 @@
 #define __GPIO_RCAR_H__
 
 struct gpio_rcar_config {
-	unsigned int gpio_base;
+	int gpio_base;
 	unsigned int irq_base;
 	unsigned int number_of_pins;
 	const char *pctl_name;
Signature · 1 line
1.8.1.5
#2 lore raw

PATCH v2 1/2 gpio-rcar: Make the platform data gpio_base field signed

Quoted 7 lines · Laurent Pinchart

The gpio_base field is used to specify the desired GPIO base for the GPIO controller. The GPIO core can automatically allocate a GPIO number range when the base is set to -1. To make this possible, make the field signed.

Thanks, this is queued-up for v3.11 in the gpio-rcar branch.

Quoted 25 lines
---
 include/linux/platform_data/gpio-rcar.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/linux/platform_data/gpio-rcar.h +1 -1
index cc472f6..fb2c718 100644
@@ -17,7 +17,7 @@
 #define __GPIO_RCAR_H__
 
 struct gpio_rcar_config {
-	unsigned int gpio_base;
+	int gpio_base;
 	unsigned int irq_base;
 	unsigned int number_of_pins;
 	const char *pctl_name;
Signature · 6 lines
1.8.1.5

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#3 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

In reply to Laurent Pinchart

Add DT bindings for the gpio-rcar driver and read the device configuration from the DT node at probe time if available.

Cc devicetree-discuss at lists.ozlabs.org
---
 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 ++++++++++++++++++----
 2 files changed, 108 insertions(+), 10 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt new file +52 -0
new file mode 100644
index 0000000..46d76a0
@@ -0,0 +1,52 @@
+* Renesas R-Car GPIO Controller
+
+Required Properties:
+
+  - compatible: should be one of the following.
+    - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller.
+    - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller.
+    - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller.
+    - "renesas,gpio-rcar": for generic R-Car GPIO controller.
+
+  - reg: Base address and length of each memory resource used by the GPIO
+    controller hardware module.
+
+  - interrupt-parent: phandle of the parent interrupt controller.
+  - interrupts: Interrupt specifier for the controllers interrupt.
+
+  - gpio-controller: Marks the device node as a gpio controller.
+  - #gpio-cells: Should be 2. The first cell is the GPIO number and the second
+    cell is used to specify optional parameters as bit flags. Only the GPIO
+    active low flag (bit 0) is currently supported.
+  - gpio-ranges: Range of pins managed by the GPIO controller as a 4-cells
+    tuple using the following syntax.
+
+    <[phandle of the pin controller node]
+     0
+     [index of the first pin]
+     [number of pins]>
+
+Please refer to gpio.txt in this directory for details of the common GPIO
+bindings used by client devices.
+
+Example: R8A7779 (R-Car H1) GPIO controller nodes
+
+	gpio0: gpio at ffc40000 {
+		compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+		reg = <0xffc40000 0x2c>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 141 0x4>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 0 32>;
+	};
+	...
+	gpio6: gpio at ffc46000 {
+		compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+		reg = <0xffc46000 0x2c>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 147 0x4>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 192 9>;
+	};
drivers/gpio/gpio-rcar.c +56 -10

112 lines not on this page · raw message

Signature · 1 line
1.8.1.5
#4 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

Quoted 5 lines · Laurent Pinchart

Add DT bindings for the gpio-rcar driver and read the device configuration from the DT node at probe time if available.

Cc devicetree-discuss at lists.ozlabs.org

I am assuming this will go through Simon's tree?

Note:

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt line 30

Quoted 10 lines
Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt new file +10 -0
+  - gpio-ranges: Range of pins managed by the GPIO controller as a 4-cells
+    tuple using the following syntax.
+
+    <[phandle of the pin controller node]
+     0
+     [index of the first pin]
+     [number of pins]>
+
+Please refer to gpio.txt in this directory for details of the common GPIO
+bindings used by client devices.

The above ranges are part of that document.

Yours,
Linus Walleij

#5 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

Hi Linus,

Quoted 5 lines · On Thursday 30 May 2013 19:38:12 Linus Walleij wrote:
Quoted 3 lines · Laurent Pinchart

Add DT bindings for the gpio-rcar driver and read the device configuration from the DT node at probe time if available.

Quoted 7 lines
Quoted 3 lines

Cc: devicetree-discuss at lists.ozlabs.org
Signed-off-by: Laurent Pinchart
<[email protected]>

I am assuming this will go through Simon's tree?

I've so far pushed GPIO and pinctrl patches for SH through Simon's tree due to the many cross-dependencies between SH arch code and the GPIO and pinctrl drivers. As the situation now stabilizes, we could now push the patches through their respective subsystem trees.

Simon, Linus, any opinion/preference on that ?

Quoted 14 lines

Note:

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt line 30

Quoted 11 lines

+ - gpio-ranges: Range of pins managed by the GPIO controller as a 4-cells

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt new file +9 -0
+    tuple using the following syntax.
+
+    <[phandle of the pin controller node]
+     0
+     [index of the first pin]
+     [number of pins]>
+
+Please refer to gpio.txt in this directory for details of the common GPIO
+bindings used by client devices.

The above ranges are part of that document.

What about replacing that with

- gpio-ranges: Range of pins managed by the GPIO controller.

Please refer to gpio.txt in this directory for details of gpio-ranges property and the common GPIO bindings used by client devices.

Signature · 3 lines
Regards,

Laurent Pinchart
#6 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

Quoted 6 lines · Laurent Pinchart

I've so far pushed GPIO and pinctrl patches for SH through Simon's tree due to the many cross-dependencies between SH arch code and the GPIO and pinctrl drivers. As the situation now stabilizes, we could now push the patches through their respective subsystem trees.

Simon, Linus, any opinion/preference on that ?

Depends, if they are still large patch sets I'd prefer Simon to take it, but once the drivers are in place and going to maintenance mode I'll handle them in pinctrl.

Quoted 8 lines
Quoted 1 line

The above ranges are part of that document.

What about replacing that with

- gpio-ranges: Range of pins managed by the GPIO controller.

Please refer to gpio.txt in this directory for details of gpio-ranges property and the common GPIO bindings used by client devices.

Go for it!

Yours,
Linus Walleij

#7 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

Hi Linus,

Quoted 11 lines · On Friday 31 May 2013 09:01:44 Linus Walleij wrote:
Quoted 6 lines · Laurent Pinchart

I've so far pushed GPIO and pinctrl patches for SH through Simon's tree due to the many cross-dependencies between SH arch code and the GPIO and pinctrl drivers. As the situation now stabilizes, we could now push the patches through their respective subsystem trees.

Simon, Linus, any opinion/preference on that ?

Depends, if they are still large patch sets I'd prefer Simon to take it, but once the drivers are in place and going to maintenance mode I'll handle them in pinctrl.

Let's make the switch for v3.12 then if that's fine with you.

Quoted 10 lines
Quoted 8 lines
Quoted 1 line

The above ranges are part of that document.

What about replacing that with

- gpio-ranges: Range of pins managed by the GPIO controller.

Please refer to gpio.txt in this directory for details of gpio-ranges property and the common GPIO bindings used by client devices.

Go for it!

Thanks.

Signature · 3 lines
Regards,

Laurent Pinchart
#8 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

In reply to Laurent Pinchart
Quoted 89 lines · Laurent Pinchart

Add DT bindings for the gpio-rcar driver and read the device configuration from the DT node at probe time if available.

Cc devicetree-discuss at lists.ozlabs.org
---
 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 ++++++++++++++++++----
 2 files changed, 108 insertions(+), 10 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt new file +52 -0
new file mode 100644
index 0000000..46d76a0
@@ -0,0 +1,52 @@
+* Renesas R-Car GPIO Controller
+
+Required Properties:
+
+  - compatible: should be one of the following.
+    - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller.
+    - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller.
+    - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller.
+    - "renesas,gpio-rcar": for generic R-Car GPIO controller.
+
+  - reg: Base address and length of each memory resource used by the GPIO
+    controller hardware module.
+
+  - interrupt-parent: phandle of the parent interrupt controller.
+  - interrupts: Interrupt specifier for the controllers interrupt.
+
+  - gpio-controller: Marks the device node as a gpio controller.
+  - #gpio-cells: Should be 2. The first cell is the GPIO number and the second
+    cell is used to specify optional parameters as bit flags. Only the GPIO
+    active low flag (bit 0) is currently supported.
+  - gpio-ranges: Range of pins managed by the GPIO controller as a 4-cells
+    tuple using the following syntax.
+
+    <[phandle of the pin controller node]
+     0
+     [index of the first pin]
+     [number of pins]>
+
+Please refer to gpio.txt in this directory for details of the common GPIO
+bindings used by client devices.
+
+Example: R8A7779 (R-Car H1) GPIO controller nodes
+
+	gpio0: gpio at ffc40000 {
+		compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+		reg = <0xffc40000 0x2c>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 141 0x4>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 0 32>;
+	};
+	...
+	gpio6: gpio at ffc46000 {
+		compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
+		reg = <0xffc46000 0x2c>;
+		interrupt-parent = <&gic>;
+		interrupts = <0 147 0x4>;
+		#gpio-cells = <2>;
+		gpio-controller;
+		gpio-ranges = <&pfc 0 192 9>;
+	};
drivers/gpio/gpio-rcar.c +5 -0
index 0f3d647..c153837 100644
@@ -50,6 +50,8 @@ struct gpio_rcar_priv {
 #define EDGLEVEL 0x24
 #define FILONOFF 0x28
 
+#define RCAR_MAX_GPIO_PER_BANK		32
+
 static inline u32 gpio_rcar_read(struct gpio_rcar_priv *p, int offs)
 {
 	return ioread32(p->base + offs);
@@ -258,9 +260,39 @@ static struct irq_domain_ops gpio_rcar_irq_domain_ops = {
 	.map	= gpio_rcar_irq_domain_map,
 };
 
+static void gpio_rcar_parse_pdata(struct gpio_rcar_priv *p)
+{
+	struct gpio_rcar_config *pdata = p->pdev->dev.platform_data;

drivers/gpio/gpio-rcar.c static struct irq_domain_ops gpio_rcar_irq_domain_ops = { · line 275

Quoted 10 lines
drivers/gpio/gpio-rcar.c +10 -0
+#ifdef CONFIG_OF
+	struct device_node *np = p->pdev->dev.of_node;
+	struct of_phandle_args args;
+	int ret;
+#endif
+
+	if (pdata)
+		p->config = *pdata;
+#ifdef CONFIG_OF
+	else if (np) {

Try this:

	else if ((IS_ENABLED(CONFIG_OF)) && np) {

It's much better than adding #ifdef blocks to .c files. In v3.11 a bunch of the OF forward declarations get pulled out from under the #ifdef block so that you can use the above construct.

Quoted 99 lines
drivers/gpio/gpio-rcar.c +41 -10
+		ret = of_parse_phandle_with_args(np, "gpio-ranges",
+				"#gpio-range-cells", 0, &args);
+		p->config.number_of_pins = ret == 0 && args.args_count == 3
+					 ? args.args[2]
+					 : RCAR_MAX_GPIO_PER_BANK;
+		p->config.gpio_base = -1;
+	}
+#endif
+
+	if (p->config.number_of_pins == 0 ||
+	    p->config.number_of_pins > RCAR_MAX_GPIO_PER_BANK) {
+		dev_warn(&p->pdev->dev,
+			 "Invalid number of gpio lines %u, using %u\n",
+			 p->config.number_of_pins, RCAR_MAX_GPIO_PER_BANK);
+		p->config.number_of_pins = RCAR_MAX_GPIO_PER_BANK;
+	}
+}
+
 static int gpio_rcar_probe(struct platform_device *pdev)
 {
-	struct gpio_rcar_config *pdata = pdev->dev.platform_data;
 	struct gpio_rcar_priv *p;
 	struct resource *io, *irq;
 	struct gpio_chip *gpio_chip;
@@ -275,14 +307,14 @@ static int gpio_rcar_probe(struct platform_device *pdev)
 		goto err0;
 	}
 
-	/* deal with driver instance configuration */
-	if (pdata)
-		p->config = *pdata;
-
 	p->pdev = pdev;
-	platform_set_drvdata(pdev, p);
 	spin_lock_init(&p->lock);
 
+	/* Get device configuration from DT node or platform data. */
+	gpio_rcar_parse_pdata(p);
+
+	platform_set_drvdata(pdev, p);
+
 	io = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
 
@@ -309,6 +341,7 @@ static int gpio_rcar_probe(struct platform_device *pdev)
 	gpio_chip->set = gpio_rcar_set;
 	gpio_chip->to_irq = gpio_rcar_to_irq;
 	gpio_chip->label = name;
+	gpio_chip->dev = &pdev->dev;
 	gpio_chip->owner = THIS_MODULE;
 	gpio_chip->base = p->config.gpio_base;
 	gpio_chip->ngpio = p->config.number_of_pins;
@@ -355,10 +388,12 @@ static int gpio_rcar_probe(struct platform_device *pdev)
 				 p->config.irq_base, ret);
 	}
 
-	ret = gpiochip_add_pin_range(gpio_chip, p->config.pctl_name, 0,
-				     gpio_chip->base, gpio_chip->ngpio);
-	if (ret < 0)
-		dev_warn(&pdev->dev, "failed to add pin range\n");
+	if (p->config.pctl_name) {
+		ret = gpiochip_add_pin_range(gpio_chip, p->config.pctl_name, 0,
+					     gpio_chip->base, gpio_chip->ngpio);
+		if (ret < 0)
+			dev_warn(&pdev->dev, "failed to add pin range\n");
+	}
 
 	return 0;
 
@@ -381,11 +416,22 @@ static int gpio_rcar_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id gpio_rcar_of_table[] = {
+	{
+		.compatible = "renesas,gpio-rcar",
+	},
+};
+
+MODULE_DEVICE_TABLE(of, gpio_rcar_of_table);
+#endif
+
 static struct platform_driver gpio_rcar_device_driver = {
 	.probe		= gpio_rcar_probe,
 	.remove		= gpio_rcar_remove,
 	.driver		= {
 		.name	= "gpio_rcar",
+		.of_match_table = of_match_ptr(gpio_rcar_of_table),
 	}
 };
 
Signature · 6 lines
1.8.1.5

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss at lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
Signature · 2 lines
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
#9 lore raw

PATCH v2 2/2 gpio-rcar: Add DT support

Hi Grant,

Thanks for the review.

Quoted 14 lines · On Wednesday 12 June 2013 12:49:11 Grant Likely wrote:
Quoted 13 lines · Laurent Pinchart

Add DT bindings for the gpio-rcar driver and read the device configuration from the DT node at probe time if available.

Cc: devicetree-discuss at lists.ozlabs.org
Signed-off-by: Laurent Pinchart
<[email protected]>
---

 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 ++++++++++++++---
 2 files changed, 108 insertions(+), 10 deletions(-)
 create mode 100644

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt

[snip]

Quoted 4 lines
Quoted 4 lines
drivers/gpio/gpio-rcar.c +0 -0
index 0f3d647..c153837 100644

[snip]

Quoted 15 lines

drivers/gpio/gpio-rcar.c static struct irq_domain_ops gpio_rcar_irq_domain_ops = { · line 275

Quoted 13 lines
drivers/gpio/gpio-rcar.c +13 -0
+static void gpio_rcar_parse_pdata(struct gpio_rcar_priv *p)
+{
+	struct gpio_rcar_config *pdata = p->pdev->dev.platform_data;
+#ifdef CONFIG_OF
+	struct device_node *np = p->pdev->dev.of_node;
+	struct of_phandle_args args;
+	int ret;
+#endif
+
+	if (pdata)
+		p->config = *pdata;
+#ifdef CONFIG_OF
+	else if (np) {

Try this:

Quoted 5 lines
	else if ((IS_ENABLED(CONFIG_OF)) && np) {

It's much better than adding #ifdef blocks to .c files. In v3.11 a bunch of the OF forward declarations get pulled out from under the #ifdef block so that you can use the above construct.

As a pull request has already been sent to the ARM SoC maintainers, and given that this isn't a critical issue, I'll address it as a follow-up patch if that's fine with you.

Quoted 17 lines
Quoted 17 lines
drivers/gpio/gpio-rcar.c +17 -0
+		ret = of_parse_phandle_with_args(np, "gpio-ranges",
+				"#gpio-range-cells", 0, &args);
+		p->config.number_of_pins = ret == 0 && args.args_count == 3
+					 ? args.args[2]
+					 : RCAR_MAX_GPIO_PER_BANK;
+		p->config.gpio_base = -1;
+	}
+#endif
+
+	if (p->config.number_of_pins == 0 ||
+	    p->config.number_of_pins > RCAR_MAX_GPIO_PER_BANK) {
+		dev_warn(&p->pdev->dev,
+			 "Invalid number of gpio lines %u, using %u\n",
+			 p->config.number_of_pins, RCAR_MAX_GPIO_PER_BANK);
+		p->config.number_of_pins = RCAR_MAX_GPIO_PER_BANK;
+	}
+}
Signature · 3 lines
Regards,

Laurent Pinchart
#10 lore raw

v2 cover R-Car GPIO DT bindings

In reply to Laurent Pinchart
Quoted 20 lines · Laurent Pinchart

Hello,

Here's the second version of the gpio-rcar driver DT bindings. I've tested the patches on the Marzen board (r8a7779).

Once again I'd appreciate feedback on the DT bindings. I'm particularly wondering whether getting the number of lines through the gpio-ranges property instead of using a dedicated #gpio-lines property as in v1 is a good idea.

Changes since v1:

- Initialize the gpiochip dev field at probe time.
- Add the gpio-ranges property.
- Remove the #gpio-lines property. The number of lines is now passed through the gpio-ranges property.

Laurent Pinchart (2):
gpio-rcar: Make the platform data gpio_base field signed
gpio-rcar: Add DT support

Quoted 5 lines
 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 ++++++++++++++++++----
 include/linux/platform_data/gpio-rcar.h            |  2 +-
 3 files changed, 109 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt

Hi Magnus,

could you please review these changes?

#11 lore raw

v2 cover R-Car GPIO DT bindings

Hi Simon,

Quoted 30 lines · On Saturday 25 May 2013 10:24:34 Simon Horman wrote:
Quoted 22 lines · Laurent Pinchart

Hello,

Here's the second version of the gpio-rcar driver DT bindings. I've tested the patches on the Marzen board (r8a7779).

Once again I'd appreciate feedback on the DT bindings. I'm particularly wondering whether getting the number of lines through the gpio-ranges property instead of using a dedicated #gpio-lines property as in v1 is a good idea.

Changes since v1:

- Initialize the gpiochip dev field at probe time.
- Add the gpio-ranges property.
- Remove the #gpio-lines property. The number of lines is now passed through>
the gpio-ranges property.

Laurent Pinchart (2):
gpio-rcar: Make the platform data gpio_base field signed
gpio-rcar: Add DT support

Quoted 6 lines
 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 +++++++++++++----
 include/linux/platform_data/gpio-rcar.h            |  2 +-
 3 files changed, 109 insertions(+), 11 deletions(-)
 create mode 100644

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt

Quoted 3 lines

Hi Magnus,

could you please review these changes?

I've received Magnus' ack face-to-face last week. I'm not sure whether that's a proper procedure, but I'm sure he will confirm that if needed.

Could you please take the patch in your tree for v3.11 ?

Signature · 3 lines
Regards,

Laurent Pinchart
#12 lore raw

v2 cover R-Car GPIO DT bindings

Quoted 33 lines · Laurent Pinchart

Hi Simon,

Quoted 30 lines · On Saturday 25 May 2013 10:24:34 Simon Horman wrote:
Quoted 28 lines · Laurent Pinchart

Hello,

Here's the second version of the gpio-rcar driver DT bindings. I've tested the patches on the Marzen board (r8a7779).

Once again I'd appreciate feedback on the DT bindings. I'm particularly wondering whether getting the number of lines through the gpio-ranges property instead of using a dedicated #gpio-lines property as in v1 is a good idea.

Changes since v1:

- Initialize the gpiochip dev field at probe time.
- Add the gpio-ranges property.
- Remove the #gpio-lines property. The number of lines is now passed through>
the gpio-ranges property.

Laurent Pinchart (2):
gpio-rcar: Make the platform data gpio_base field signed
gpio-rcar: Add DT support

 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 +++++++++++++----
 include/linux/platform_data/gpio-rcar.h            |  2 +-
 3 files changed, 109 insertions(+), 11 deletions(-)
 create mode 100644

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt

Quoted 6 lines
Quoted 3 lines

Hi Magnus,

could you please review these changes?

I've received Magnus' ack face-to-face last week. I'm not sure whether that's a proper procedure, but I'm sure he will confirm that if needed.

Its sufficient for my needs.

Quoted 1 line

Could you please take the patch in your tree for v3.11 ?

Sure, I'll see what I can do.

#13 lore raw

v2 cover R-Car GPIO DT bindings

Quoted 38 lines · Simon Horman
Quoted 37 lines · Laurent Pinchart

Hi Simon,

Quoted 33 lines · On Saturday 25 May 2013 10:24:34 Simon Horman wrote:
Quoted 22 lines · Laurent Pinchart

Hello,

Here's the second version of the gpio-rcar driver DT bindings. I've tested the patches on the Marzen board (r8a7779).

Once again I'd appreciate feedback on the DT bindings. I'm particularly wondering whether getting the number of lines through the gpio-ranges property instead of using a dedicated #gpio-lines property as in v1 is a good idea.

Changes since v1:

- Initialize the gpiochip dev field at probe time.
- Add the gpio-ranges property.
- Remove the #gpio-lines property. The number of lines is now passed through>
the gpio-ranges property.

Laurent Pinchart (2):
gpio-rcar: Make the platform data gpio_base field signed
gpio-rcar: Add DT support

Quoted 6 lines
 .../devicetree/bindings/gpio/renesas,gpio-rcar.txt | 52 +++++++++++++++++
 drivers/gpio/gpio-rcar.c                           | 66 +++++++++++++----
 include/linux/platform_data/gpio-rcar.h            |  2 +-
 3 files changed, 109 insertions(+), 11 deletions(-)
 create mode 100644

Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt

Hi Magnus,

could you please review these changes?

Quoted 8 lines
Quoted 2 lines

I've received Magnus' ack face-to-face last week. I'm not sure whether that's a proper procedure, but I'm sure he will confirm that if needed.

Its sufficient for my needs.

Quoted 1 line

Could you please take the patch in your tree for v3.11 ?

Sure, I'll see what I can do.

I have queued this up in the gpio-rcar branch.