drivers/gpio/gpio-104-idio-16.c | 1 + drivers/gpio/gpio-idio-16.c | 5 +++++ drivers/gpio/gpio-pci-idio-16.c | 1 + 3 files changed, 7 insertions(+)
The migration of IDIO-16 GPIO drivers to the regmap API resulted in some
regressions to the gpio-104-idio-16, gpio-pci-idio-16, and gpio-idio-16
modules. Specifically, the 104-idio-16 and pci-idio-16 GPIO drivers
utilize regmap caching and thus must set max_register for their
regmap_config, while gpio-idio-16 requires fixed_direction_output to
represent the fixed direction of the IDIO-16 GPIO lines. Fixes for these
regressions are provided by this series.
Link: https://lore.kernel.org/r/cover.1680618405.git.william.gray@linaro.org
Link: https://lore.kernel.org/r/9b0375fd-235f-4ee1-a7fa-daca296ef6bf@nutanix.com
Signed-off-by: William Breathitt Gray <wbg@kernel.org>
---
William Breathitt Gray (3):
gpio: 104-idio-16: Define maximum valid register address offset
gpio: pci-idio-16: Define maximum valid register address offset
gpio: idio-16: Define fixed direction of the GPIO lines
drivers/gpio/gpio-104-idio-16.c | 1 +
drivers/gpio/gpio-idio-16.c | 5 +++++
drivers/gpio/gpio-pci-idio-16.c | 1 +
3 files changed, 7 insertions(+)
---
base-commit: eba11116f39533d2e38cc5898014f2c95f32d23a
change-id: 20251017-fix-gpio-idio-16-regmap-1282cdc56a19
Best regards,
--
William Breathitt Gray <wbg@kernel.org>
On 17/10/2025 01:58, William Breathitt Gray wrote: > The migration of IDIO-16 GPIO drivers to the regmap API resulted in some > regressions to the gpio-104-idio-16, gpio-pci-idio-16, and gpio-idio-16 > modules. Specifically, the 104-idio-16 and pci-idio-16 GPIO drivers > utilize regmap caching and thus must set max_register for their > regmap_config, while gpio-idio-16 requires fixed_direction_output to > represent the fixed direction of the IDIO-16 GPIO lines. Fixes for these > regressions are provided by this series. > > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_r_cover.1680618405.git.william.gray-40linaro.org&d=DwICaQ&c=s883GpUCOChKOHiocYtGcg&r=c23RpsaH4D2MKyD3EPJTDa0BAxz6tV8aUJqVSoytEiY&m=jPr0Xfn4RnLqz8K-AnYL3uVFBDeN1vNtIrFMqrmT_BE2JM3DrvRhmVaaWZ_FAMEI&s=gNMoDpPUYhiozXkA1xYUBX5tmpjg0fiDQC90QRkvRXA&e= > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_r_9b0375fd-2D235f-2D4ee1-2Da7fa-2Ddaca296ef6bf-40nutanix.com&d=DwICaQ&c=s883GpUCOChKOHiocYtGcg&r=c23RpsaH4D2MKyD3EPJTDa0BAxz6tV8aUJqVSoytEiY&m=jPr0Xfn4RnLqz8K-AnYL3uVFBDeN1vNtIrFMqrmT_BE2JM3DrvRhmVaaWZ_FAMEI&s=HEyyhsUTLo9USpHvPuhCvAdAykzqkrkRNay7bNDtPaY&e= > Signed-off-by: William Breathitt Gray <wbg@kernel.org> > --- > William Breathitt Gray (3): > gpio: 104-idio-16: Define maximum valid register address offset > gpio: pci-idio-16: Define maximum valid register address offset > gpio: idio-16: Define fixed direction of the GPIO lines > > drivers/gpio/gpio-104-idio-16.c | 1 + > drivers/gpio/gpio-idio-16.c | 5 +++++ > drivers/gpio/gpio-pci-idio-16.c | 1 + > 3 files changed, 7 insertions(+) > --- > base-commit: eba11116f39533d2e38cc5898014f2c95f32d23a > change-id: 20251017-fix-gpio-idio-16-regmap-1282cdc56a19 > > Best regards, Hi William, Thanks for the patches! I've given them a test here, and everything now appears to be working as it should in our test environment: root@debian12:~# gpioinfo gpiochip0 - 32 lines: line 0: "OUT0" unused output active-high line 1: "OUT1" unused output active-high line 2: "OUT2" unused output active-high line 3: "OUT3" unused output active-high line 4: "OUT4" unused output active-high line 5: "OUT5" unused output active-high line 6: "OUT6" unused output active-high line 7: "OUT7" unused output active-high line 8: "OUT8" unused output active-high line 9: "OUT9" unused output active-high line 10: "OUT10" unused output active-high line 11: "OUT11" unused output active-high line 12: "OUT12" unused output active-high line 13: "OUT13" unused output active-high line 14: "OUT14" unused output active-high line 15: "OUT15" unused output active-high line 16: "IIN0" unused input active-high line 17: "IIN1" unused input active-high line 18: "IIN2" unused input active-high line 19: "IIN3" unused input active-high line 20: "IIN4" unused input active-high line 21: "IIN5" unused input active-high line 22: "IIN6" unused input active-high line 23: "IIN7" unused input active-high line 24: "IIN8" unused input active-high line 25: "IIN9" unused input active-high line 26: "IIN10" unused input active-high line 27: "IIN11" unused input active-high line 28: "IIN12" unused input active-high line 29: "IIN13" unused input active-high line 30: "IIN14" unused input active-high line 31: "IIN15" unused input active-high The line directions are correct and I've confirmed that I can set and clear outputs and read the corresponding inputs, so from my viewpoint: Tested-by: Mark Cave-Ayland <mark.caveayland@nutanix.com> ATB, Mark.
On Fri, Oct 17, 2025 at 09:58:00AM +0900, William Breathitt Gray wrote: > The migration of IDIO-16 GPIO drivers to the regmap API resulted in some > regressions to the gpio-104-idio-16, gpio-pci-idio-16, and gpio-idio-16 > modules. Specifically, the 104-idio-16 and pci-idio-16 GPIO drivers > utilize regmap caching and thus must set max_register for their > regmap_config, while gpio-idio-16 requires fixed_direction_output to > represent the fixed direction of the IDIO-16 GPIO lines. Fixes for these > regressions are provided by this series. With commit message amendment and Cc list (as per Bart's message), feel free to add Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> -- With Best Regards, Andy Shevchenko
On Fri, Oct 17, 2025 at 2:58 AM William Breathitt Gray <wbg@kernel.org> wrote: > > The migration of IDIO-16 GPIO drivers to the regmap API resulted in some > regressions to the gpio-104-idio-16, gpio-pci-idio-16, and gpio-idio-16 > modules. Specifically, the 104-idio-16 and pci-idio-16 GPIO drivers > utilize regmap caching and thus must set max_register for their > regmap_config, while gpio-idio-16 requires fixed_direction_output to > represent the fixed direction of the IDIO-16 GPIO lines. Fixes for these > regressions are provided by this series. > > Link: https://lore.kernel.org/r/cover.1680618405.git.william.gray@linaro.org > Link: https://lore.kernel.org/r/9b0375fd-235f-4ee1-a7fa-daca296ef6bf@nutanix.com > Signed-off-by: William Breathitt Gray <wbg@kernel.org> > --- > William Breathitt Gray (3): > gpio: 104-idio-16: Define maximum valid register address offset > gpio: pci-idio-16: Define maximum valid register address offset > gpio: idio-16: Define fixed direction of the GPIO lines > > drivers/gpio/gpio-104-idio-16.c | 1 + > drivers/gpio/gpio-idio-16.c | 5 +++++ > drivers/gpio/gpio-pci-idio-16.c | 1 + > 3 files changed, 7 insertions(+) > --- > base-commit: eba11116f39533d2e38cc5898014f2c95f32d23a > change-id: 20251017-fix-gpio-idio-16-regmap-1282cdc56a19 > > Best regards, > -- > William Breathitt Gray <wbg@kernel.org> > > Please use get_maintainer.pl or b4 --auto-to-cc. This is the address I'm using for reviews. Bartosz
© 2016 - 2026 Red Hat, Inc.