aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-palmas.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2013-07-23 03:36:04 -0400
committerLinus Walleij <linus.walleij@linaro.org>2013-07-29 12:14:33 -0400
commit5763318f562fc0b30f729dce531b2982e29db463 (patch)
tree46b70613856f2ae34eb8a9e80ff09f3237e5e7e2 /drivers/gpio/gpio-palmas.c
parent5e0dd400461410e3e3f97f53f1521337e2e0ce6e (diff)
gpio: palmas: add dt support
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> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-palmas.c')
-rw-r--r--drivers/gpio/gpio-palmas.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpio/gpio-palmas.c b/drivers/gpio/gpio-palmas.c
index e3a4e56f5a42..09360c4b6386 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)
134 palmas_gpio->gpio_chip.get = palmas_gpio_get; 134 palmas_gpio->gpio_chip.get = palmas_gpio_get;
135 palmas_gpio->gpio_chip.dev = &pdev->dev; 135 palmas_gpio->gpio_chip.dev = &pdev->dev;
136#ifdef CONFIG_OF_GPIO 136#ifdef CONFIG_OF_GPIO
137 palmas_gpio->gpio_chip.of_node = palmas->dev->of_node; 137 palmas_gpio->gpio_chip.of_node = pdev->dev.of_node;
138#endif 138#endif
139 palmas_pdata = dev_get_platdata(palmas->dev); 139 palmas_pdata = dev_get_platdata(palmas->dev);
140 if (palmas_pdata && palmas_pdata->gpio_base) 140 if (palmas_pdata && palmas_pdata->gpio_base)
@@ -159,9 +159,19 @@ static int palmas_gpio_remove(struct platform_device *pdev)
159 return gpiochip_remove(&palmas_gpio->gpio_chip); 159 return gpiochip_remove(&palmas_gpio->gpio_chip);
160} 160}
161 161
162static struct of_device_id of_palmas_gpio_match[] = {
163 { .compatible = "ti,palmas-gpio"},
164 { .compatible = "ti,tps65913-gpio"},
165 { .compatible = "ti,tps65914-gpio"},
166 { .compatible = "ti,tps80036-gpio"},
167 { },
168};
169MODULE_DEVICE_TABLE(of, of_palmas_gpio_match);
170
162static struct platform_driver palmas_gpio_driver = { 171static struct platform_driver palmas_gpio_driver = {
163 .driver.name = "palmas-gpio", 172 .driver.name = "palmas-gpio",
164 .driver.owner = THIS_MODULE, 173 .driver.owner = THIS_MODULE,
174 .driver.of_match_table = of_palmas_gpio_match,
165 .probe = palmas_gpio_probe, 175 .probe = palmas_gpio_probe,
166 .remove = palmas_gpio_remove, 176 .remove = palmas_gpio_remove,
167}; 177};