This device driver is OF-only, so reflect that in the Kconfig and have
it parse aliases if available to derive its id.

Signed-off-by: Ahmad Fatoum <a.fat...@pengutronix.de>
---
v1 -> v2:
  - add missing prerequisite patch
---
 drivers/gpio/Kconfig   | 1 +
 drivers/gpio/gpio-dw.c | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 7caa1aa96eb3..17d5587ea8cf 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -201,6 +201,7 @@ config GPIO_TEGRA
 
 config GPIO_DESIGNWARE
        tristate "Synopsys DesignWare GPIO driver"
+       depends on OF_GPIO
        help
          Say Y or M here to build support for the Synopsys DesignWare APB
          GPIO block.
diff --git a/drivers/gpio/gpio-dw.c b/drivers/gpio/gpio-dw.c
index e6eba6b423f5..98668c0a2d54 100644
--- a/drivers/gpio/gpio-dw.c
+++ b/drivers/gpio/gpio-dw.c
@@ -114,6 +114,8 @@ static int dw_gpio_add_port(struct device *dev, struct 
device_node *node,
        chip = xzalloc(sizeof(*chip));
 
        chip->chip.ops = &dw_gpio_ops;
+
+       dev->id = of_alias_get_id(dev->device_node, "gpio");
        if (dev->id < 0)
                chip->chip.base = DEVICE_ID_DYNAMIC;
        else
@@ -181,7 +183,7 @@ MODULE_DEVICE_TABLE(of, dwgpio_match);
 static struct driver dwgpio_driver = {
        .name = "dw-apb-gpio",
        .probe = dw_gpio_probe,
-       .of_compatible = DRV_OF_COMPAT(dwgpio_match),
+       .of_compatible = dwgpio_match,
 };
 
 postcore_platform_driver(dwgpio_driver);
-- 
2.39.5


Reply via email to