public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] gpio: palmas: add dt support
@ 2013-04-16 14:31 Laxman Dewangan
  2013-04-16 18:44 ` Stephen Warren
  0 siblings, 1 reply; 3+ messages in thread
From: Laxman Dewangan @ 2013-04-16 14:31 UTC (permalink / raw)
  To: linus.walleij, grant.likely
  Cc: rob.herring, gg, ian, j-keerthy, t-kristo, linux-kernel,
	linux-tegra, 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>
---
Changes from V1:
Remove the ifdefs of CONFIG_OF around of_device_id structure for
defining compatible values.

 drivers/gpio/gpio-palmas.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
index e3a4e56..5802662 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,16 @@ 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"},
+	{ },
+};
+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] 3+ messages in thread

* Re: [PATCH V2] gpio: palmas: add dt support
  2013-04-16 14:31 [PATCH V2] gpio: palmas: add dt support Laxman Dewangan
@ 2013-04-16 18:44 ` Stephen Warren
  2013-04-17  6:56   ` Laxman Dewangan
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Warren @ 2013-04-16 18:44 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: linus.walleij, grant.likely, rob.herring, gg, ian, j-keerthy,
	t-kristo, linux-kernel, linux-tegra, swarren

On 04/16/2013 08:31 AM, 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>;
> 		};
> 	};

So I think this patch looks fine if everyone is agreed that all the
Palmas sub-modules are represented as explicit child nodes in DT, and
the probing of the child nodes is based on the top-level Palmas device
being a bus, and enumerating its children in standard DT style, using
compatible values. (I'm not sure how the child probing/instantiation
will work for non-DT systems though).

I'm not 100% sure if an agreement on the top-level structure of the
Palmas DT bindings was reached though? Can the SlimLogic people confirm
this? I assume Laxman must be OK with it since he's sending this patch?

It might be a good idea to get the final Palmas binding documentation
reviewed and checked in before changing the drivers/.dts files to match
what the final bindings might be.

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

* Re: [PATCH V2] gpio: palmas: add dt support
  2013-04-16 18:44 ` Stephen Warren
@ 2013-04-17  6:56   ` Laxman Dewangan
  0 siblings, 0 replies; 3+ messages in thread
From: Laxman Dewangan @ 2013-04-17  6:56 UTC (permalink / raw)
  To: Stephen Warren
  Cc: linus.walleij@linaro.org, grant.likely@secretlab.ca,
	rob.herring@calxeda.com, gg@slimlogic.co.uk, ian@slimlogic.co.uk,
	j-keerthy@ti.com, t-kristo@ti.com, linux-kernel@vger.kernel.org,
	linux-tegra@vger.kernel.org, Stephen Warren

On Wednesday 17 April 2013 12:14 AM, Stephen Warren wrote:
> On 04/16/2013 08:31 AM, 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>;
>> 		};
>> 	};
> So I think this patch looks fine if everyone is agreed that all the
> Palmas sub-modules are represented as explicit child nodes in DT, and
> the probing of the child nodes is based on the top-level Palmas device
> being a bus, and enumerating its children in standard DT style, using
> compatible values. (I'm not sure how the child probing/instantiation
> will work for non-DT systems though).
>
> I'm not 100% sure if an agreement on the top-level structure of the
> Palmas DT bindings was reached though? Can the SlimLogic people confirm
> this? I assume Laxman must be OK with it since he's sending this patch?
>

I am fine with this dt approach.
Similar patch on palma-rtc was acked by Grant.

If Slimlogic/TI team can finalise the DT binding then it will be easy 
for me to push some more patches to have full support for palma driver 
on our Tegra platform.


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

end of thread, other threads:[~2013-04-17  7:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-16 14:31 [PATCH V2] gpio: palmas: add dt support Laxman Dewangan
2013-04-16 18:44 ` Stephen Warren
2013-04-17  6:56   ` Laxman Dewangan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox