[PATCH RFT v2 1/2] gpio: dw: support numbering via aliases
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Aug 6 03:15:58 PDT 2025
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.fatoum at 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
More information about the barebox
mailing list