gpio: wm831x: Add basic device tree support
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Fri, 17 Mar 2017 10:05:19 +0000 (10:05 +0000)
committerLee Jones <lee.jones@linaro.org>
Thu, 23 Mar 2017 11:45:55 +0000 (11:45 +0000)
Now the wm831x-core has basic DT support we can update this driver to
allow use of the GPIOs within a device tree system.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/gpio/gpio-wm831x.c

index 00e3839..938bbe3 100644 (file)
@@ -263,7 +263,7 @@ static const struct gpio_chip template_chip = {
 static int wm831x_gpio_probe(struct platform_device *pdev)
 {
        struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
-       struct wm831x_pdata *pdata = dev_get_platdata(wm831x->dev);
+       struct wm831x_pdata *pdata = &wm831x->pdata;
        struct wm831x_gpio *wm831x_gpio;
        int ret;
 
@@ -280,6 +280,9 @@ static int wm831x_gpio_probe(struct platform_device *pdev)
                wm831x_gpio->gpio_chip.base = pdata->gpio_base;
        else
                wm831x_gpio->gpio_chip.base = -1;
+#ifdef CONFIG_OF_GPIO
+       wm831x_gpio->gpio_chip.of_node = wm831x->dev->of_node;
+#endif
 
        ret = devm_gpiochip_add_data(&pdev->dev, &wm831x_gpio->gpio_chip,
                                     wm831x_gpio);