This is the first series of improvements to the tqmx86 GPIO driver, which fixes some long-standing bugs - in particular, IRQ_TYPE_EDGE_BOTH can never have worked correctly. Other patches in the series are code cleanup, which is included as it makes the actual fixes much nicer. I have included the same Fixes tag in all commits, as they will need to be cherry-picked together. A second series with new features (changing GPIO directions, support more GPIOs on SMARC TQMx86 modules) will be submitted when the fixes have been reviewed and merged. Gregor Herburger (1): gpio: tqmx86: fix typo in Kconfig label Matthias Schiffer (7): gpio: tqmx86: introduce shadow register for GPIO output value gpio: tqmx86: change tqmx86_gpio_write() order of arguments to match regmap API gpio: tqmx86: introduce _tqmx86_gpio_update_bits() helper gpio: tqmx86: add macros for interrupt configuration gpio: tqmx86: store IRQ triggers without offsetting index gpio: tqmx86: store IRQ trigger type and unmask status separately gpio: tqmx86: fix broken IRQ_TYPE_EDGE_BOTH interrupt type drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-tqmx86.c | 151 ++++++++++++++++++++++++++----------- 2 files changed, 106 insertions(+), 47 deletions(-) -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider https://www.tq-group.com/