linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V3] gpio: palmas: add dt support
@ 2013-07-22  5:12 Laxman Dewangan
  2013-07-22 21:58 ` Stephen Warren
  0 siblings, 1 reply; 4+ messages in thread
From: Laxman Dewangan @ 2013-07-22  5:12 UTC (permalink / raw)
  To: linus.walleij
  Cc: grant.likely, rob.herring, rob, devicetree, linux-doc,
	linux-kernel, linux-gpio, kishon, j-keerthy, gg, swarren,
	Laxman Dewangan

Add of_device_id table for Palma GPIO to be enable the
driver from DT file.

The driver can be registered from DT file as:
	palmas: tps65913@58 {
		:::::::::::
		palmas_gpio: palmas_gpio {
			compatible = "ti,palmas-gpio";
			gpio-controller;
			#gpio-cells = <2>;
		};
	};

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Long back, I sent the similar patch but it was paused due to the DT binding.
http://lkml.indiana.edu/hypermail/linux/kernel/1304.2/00261.html

Now, PMIC DT binding is already finalised and as per mfd binding, we can
go ahead with similar approach for gpios. pmic and other palams sub devices
are already following the same approach.

Sending 3rd version of the change which is same as per code is related but
adding devicetree binding document for gpio also at this time.

Reposting to include devicetree@vger.kernel.org.


 .../devicetree/bindings/gpio/gpio-palmas.txt       |   25 ++++++++++++++++++++
 drivers/gpio/gpio-palmas.c                         |   12 ++++++++-
 2 files changed, 36 insertions(+), 1 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-palmas.txt

diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
new file mode 100644
index 0000000..207eb29
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
@@ -0,0 +1,25 @@
+Palmas GPIO controller bindings
+
+Required properties:
+- compatible:
+  - "ti,palams-gpio" for palma series of the GPIO controller
+  - "ti,tps80036-gpio" for Palma series device TPS80036.
+  - "ti,tps65913-gpio" for palma series device TPS65913.
+  - "ti,tps65914-gpio" for palma series device TPS65914.
+- #gpio-cells : Should be two.
+  - first cell is the gpio pin number
+  - second cell is used to specify optional parameters (unused)
+- gpio-controller : Marks the device node as a GPIO controller.
+
+Note: This gpio node will be sub node of palmas node.
+
+Example:
+	palmas: tps65913@58 {
+		:::::::::::
+		palmas_gpio: palmas_gpio {
+			compatible = "ti,palmas-gpio";
+			gpio-controller;
+			#gpio-cells = <2>;
+		};
+		:::::::::::
+	};
diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
index e3a4e56..09360c4 100644
--- a/drivers/gpio/gpio-palmas.c
+++ b/drivers/gpio/gpio-palmas.c
@@ -134,7 +134,7 @@ static int palmas_gpio_probe(struct platform_device *pdev)
 	palmas_gpio->gpio_chip.get	= palmas_gpio_get;
 	palmas_gpio->gpio_chip.dev = &pdev->dev;
 #ifdef CONFIG_OF_GPIO
-	palmas_gpio->gpio_chip.of_node = palmas->dev->of_node;
+	palmas_gpio->gpio_chip.of_node = pdev->dev.of_node;
 #endif
 	palmas_pdata = dev_get_platdata(palmas->dev);
 	if (palmas_pdata && palmas_pdata->gpio_base)
@@ -159,9 +159,19 @@ static int palmas_gpio_remove(struct platform_device *pdev)
 	return gpiochip_remove(&palmas_gpio->gpio_chip);
 }
 
+static struct of_device_id of_palmas_gpio_match[] = {
+	{ .compatible = "ti,palmas-gpio"},
+	{ .compatible = "ti,tps65913-gpio"},
+	{ .compatible = "ti,tps65914-gpio"},
+	{ .compatible = "ti,tps80036-gpio"},
+	{ },
+};
+MODULE_DEVICE_TABLE(of, of_palmas_gpio_match);
+
 static struct platform_driver palmas_gpio_driver = {
 	.driver.name	= "palmas-gpio",
 	.driver.owner	= THIS_MODULE,
+	.driver.of_match_table = of_palmas_gpio_match,
 	.probe		= palmas_gpio_probe,
 	.remove		= palmas_gpio_remove,
 };
-- 
1.7.1.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH V3] gpio: palmas: add dt support
  2013-07-22  5:12 [PATCH V3] gpio: palmas: add dt support Laxman Dewangan
@ 2013-07-22 21:58 ` Stephen Warren
  0 siblings, 0 replies; 4+ messages in thread
From: Stephen Warren @ 2013-07-22 21:58 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, grant.likely, rob.herring, rob, devicetree,
	linux-doc, linux-kernel, linux-gpio, kishon, j-keerthy, gg

On 07/21/2013 10:12 PM, Laxman Dewangan wrote:
> Add of_device_id table for Palma GPIO to be enable the
> driver from DT file.
> 
> The driver can be registered from DT file as:
> 	palmas: tps65913@58 {
> 		:::::::::::
> 		palmas_gpio: palmas_gpio {
> 			compatible = "ti,palmas-gpio";
> 			gpio-controller;
> 			#gpio-cells = <2>;
> 		};
> 	};
> 
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

> diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt

> +- #gpio-cells : Should be two.
> +  - first cell is the gpio pin number
> +  - second cell is used to specify optional parameters (unused)

Shouldn't the second cell contain the standard GPIO-related flags such
as bit 0 == active-low?

Aside from that, this binding and indeed the rest of the patch looks
fine to me.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V3] gpio: palmas: add dt support
  2013-07-05 13:26 Laxman Dewangan
@ 2013-07-21 15:28 ` Linus Walleij
  0 siblings, 0 replies; 4+ messages in thread
From: Linus Walleij @ 2013-07-21 15:28 UTC (permalink / raw)
  To: Laxman Dewangan, devicetree
  Cc: Grant Likely, Rob Herring, Rob Landley, kishon, j-keerthy,
	Graeme Gregory, Stephen Warren, linux-doc, linux-kernel,
	linux-gpio

On Fri, Jul 5, 2013 at 3:26 PM, Laxman Dewangan <ldewangan@nvidia.com> wrote:

> Add of_device_id table for Palma GPIO to be enable the
> driver from DT file.
>
> The driver can be registered from DT file as:
>         palmas: tps65913@58 {
>                 :::::::::::
>                 palmas_gpio: palmas_gpio {
>                         compatible = "ti,palmas-gpio";
>                         gpio-controller;
>                         #gpio-cells = <2>;
>                 };
>         };
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>

Looks alright to me, but please resend this and include
devicetree@vger.kernel.org on the repost, this is where
DT bindings gets reviewed nowadays.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH V3] gpio: palmas: add dt support
@ 2013-07-05 13:26 Laxman Dewangan
  2013-07-21 15:28 ` Linus Walleij
  0 siblings, 1 reply; 4+ messages in thread
From: Laxman Dewangan @ 2013-07-05 13:26 UTC (permalink / raw)
  To: linus.walleij, grant.likely, rob.herring
  Cc: rob, kishon, j-keerthy, gg, swarren, linux-doc, linux-kernel,
	linux-gpio, Laxman Dewangan

Add of_device_id table for Palma GPIO to be enable the
driver from DT file.

The driver can be registered from DT file as:
	palmas: tps65913@58 {
		:::::::::::
		palmas_gpio: palmas_gpio {
			compatible = "ti,palmas-gpio";
			gpio-controller;
			#gpio-cells = <2>;
		};
	};

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
Long back, I sent the similar patch but it was paused due to the DT binding.
http://lkml.indiana.edu/hypermail/linux/kernel/1304.2/00261.html

Now, PMIC DT binding is already finalised and as per mfd binding, we can
go ahead with similar approach for gpios. pmic and other palams sub devices
are already following the same approach.

Sending 3rd version of the change which is same as per code is related but
adding devicetree binding document for gpio also at this time.

 .../devicetree/bindings/gpio/gpio-palmas.txt       |   25 ++++++++++++++++++++
 drivers/gpio/gpio-palmas.c                         |   12 ++++++++-
 2 files changed, 36 insertions(+), 1 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-palmas.txt

diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
new file mode 100644
index 0000000..207eb29
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
@@ -0,0 +1,25 @@
+Palmas GPIO controller bindings
+
+Required properties:
+- compatible:
+  - "ti,palams-gpio" for palma series of the GPIO controller
+  - "ti,tps80036-gpio" for Palma series device TPS80036.
+  - "ti,tps65913-gpio" for palma series device TPS65913.
+  - "ti,tps65914-gpio" for palma series device TPS65914.
+- #gpio-cells : Should be two.
+  - first cell is the gpio pin number
+  - second cell is used to specify optional parameters (unused)
+- gpio-controller : Marks the device node as a GPIO controller.
+
+Note: This gpio node will be sub node of palmas node.
+
+Example:
+	palmas: tps65913@58 {
+		:::::::::::
+		palmas_gpio: palmas_gpio {
+			compatible = "ti,palmas-gpio";
+			gpio-controller;
+			#gpio-cells = <2>;
+		};
+		:::::::::::
+	};
diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
index e3a4e56..09360c4 100644
--- a/drivers/gpio/gpio-palmas.c
+++ b/drivers/gpio/gpio-palmas.c
@@ -134,7 +134,7 @@ static int palmas_gpio_probe(struct platform_device *pdev)
 	palmas_gpio->gpio_chip.get	= palmas_gpio_get;
 	palmas_gpio->gpio_chip.dev = &pdev->dev;
 #ifdef CONFIG_OF_GPIO
-	palmas_gpio->gpio_chip.of_node = palmas->dev->of_node;
+	palmas_gpio->gpio_chip.of_node = pdev->dev.of_node;
 #endif
 	palmas_pdata = dev_get_platdata(palmas->dev);
 	if (palmas_pdata && palmas_pdata->gpio_base)
@@ -159,9 +159,19 @@ static int palmas_gpio_remove(struct platform_device *pdev)
 	return gpiochip_remove(&palmas_gpio->gpio_chip);
 }
 
+static struct of_device_id of_palmas_gpio_match[] = {
+	{ .compatible = "ti,palmas-gpio"},
+	{ .compatible = "ti,tps65913-gpio"},
+	{ .compatible = "ti,tps65914-gpio"},
+	{ .compatible = "ti,tps80036-gpio"},
+	{ },
+};
+MODULE_DEVICE_TABLE(of, of_palmas_gpio_match);
+
 static struct platform_driver palmas_gpio_driver = {
 	.driver.name	= "palmas-gpio",
 	.driver.owner	= THIS_MODULE,
+	.driver.of_match_table = of_palmas_gpio_match,
 	.probe		= palmas_gpio_probe,
 	.remove		= palmas_gpio_remove,
 };
-- 
1.7.1.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-07-22 21:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-22  5:12 [PATCH V3] gpio: palmas: add dt support Laxman Dewangan
2013-07-22 21:58 ` Stephen Warren
  -- strict thread matches above, loose matches on Subject: below --
2013-07-05 13:26 Laxman Dewangan
2013-07-21 15:28 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).