If we're using gpio-mmio with a pinctrl backend the direction callbacks need to finalize their work by calling into the pin control back-end. As I was made aware that the vf610 driver was missing only that to use gpio-mmio instead of custom code, I took a stab at it. This patch is made on top of Johan Korsnes bug fix, so it needs to be applied after that is in, if this works. Plese try it out on vf610! Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> --- Changes in v2: - Use the dual input/output set/clear registers for output. - Provide the BGPIOF_READ_OUTPUT_REG_SET flag so the driver behaves as described in the commit message... - Drop the now unused spinlock (gpio-mmio has its own). - Fix a speling mistake. - Link to v1: https://lore.kernel.org/r/20250214-vf610-mmio-v1-0-6cccd0292e84@xxxxxxxxxx --- Linus Walleij (2): gpio: mmio: Add flag for calling pinctrl back-end gpio: vf610: Switch to gpio-mmio drivers/gpio/Kconfig | 1 + drivers/gpio/gpio-mmio.c | 36 +++++++++++---- drivers/gpio/gpio-vf610.c | 109 +++++++------------------------------------- include/linux/gpio/driver.h | 3 ++ 4 files changed, 49 insertions(+), 100 deletions(-) --- base-commit: 8e2ad024bbbbd1add00e9ddc4aa943d3a27fa146 change-id: 20250213-vf610-mmio-eddfaeb6b197 Best regards, -- Linus Walleij <linus.walleij@xxxxxxxxxx>