[RFC PATCH 3/5] gpio: generic: add io_port to struct gpio_generic_chip
From: Jose Javier Rodriguez Barbarin
Date: Tue Apr 07 2026 - 14:49:37 EST
Add an io_port field to struct gpio_generic_chip. Initialize it
depending on whether the GPIO_GENERIC_PORT_MAPPED flag is set.
Signed-off-by: Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@xxxxxxxxxx>
---
drivers/gpio/gpio-mmio.c | 1 +
include/linux/gpio/generic.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/gpio/gpio-mmio.c b/drivers/gpio/gpio-mmio.c
index edbcaad57d00..37e1ed6569e6 100644
--- a/drivers/gpio/gpio-mmio.c
+++ b/drivers/gpio/gpio-mmio.c
@@ -645,6 +645,7 @@ int gpio_generic_chip_init(struct gpio_generic_chip *chip,
gc->base = -1;
gc->request = gpio_mmio_request;
chip->be_bits = !!(flags & GPIO_GENERIC_BIG_ENDIAN);
+ chip->io_port = !!(flags & GPIO_GENERIC_PORT_MAPPED);
ret = gpiochip_get_ngpios(gc, dev);
if (ret)
diff --git a/include/linux/gpio/generic.h b/include/linux/gpio/generic.h
index 9a71a8fbe56e..eec63f8fe144 100644
--- a/include/linux/gpio/generic.h
+++ b/include/linux/gpio/generic.h
@@ -111,6 +111,7 @@ struct gpio_generic_chip {
unsigned long (*read_reg)(void __iomem *reg);
void (*write_reg)(void __iomem *reg, unsigned long data);
bool be_bits;
+ bool io_port;
void __iomem *reg_dat;
void __iomem *reg_set;
void __iomem *reg_clr;
--
2.53.0