Message ID | 1366122705-3579-1-git-send-email-ldewangan@nvidia.com |
---|---|
State | Not Applicable, archived |
Headers | show |
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. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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, };
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(-)