AT91 GPIO driver reading back struct gpio_chip::base
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed May 7 06:11:58 PDT 2025
Hi,
just stumbled upon this comment in drivers/gpio/gpiolib.c:
/*
* TODO: it should not be necessary to reflect the
* assigned base outside of the GPIO subsystem. Go over
* drivers and see if anyone makes use of this, else
* drop this and assign a poison instead.
*/
gc->base = base;
and thought to mention that there are drivers that indeed rely on the
base, e.g. drivers/pinctrl/pinctrl-at91.c uses struct gpio_chip::base
to find out which bit to set in a register:
dev_dbg(npct->dev, "enable pin %u as GPIO\n", offset);
mask = 1 << (offset - chip->base);
This needs to be fixed of course, but I don't have time for that right
now. Thus settling instead for writing this heads up. Maybe someone is
motivated to fix this and then do the equivalent of
https://lore.kernel.org/all/20250507-b4-imx-gpio-base-warning-v2-1-d43d09e2c6bf@pengutronix.de/
for AT91 as well, given that the driver is DT-only. :-)
Cheers,
Ahmad
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list