This patch series introduces a utility for pseudo GPIO devices to reduce code duplication. There are no functional changes. In this series, only gpio-sim and gpio-virtuser are updated to use gpio-pseudo, as the current gpio-aggregator does not benefit from it at all. A follow-up patch series that introduces a configfs interface for gpio-aggregator will convert it to use gpio-pseudo as well. This work originated from a suggestion by Bartosz: https://lore.kernel.org/all/CAMRc=MfcooZXBqVpbQ0ak+8LGsPDzwKSN3Zfb0eZDx1Bx4duzQ@xxxxxxxxxxxxxx/ N.B. this submission is based on the latest gpio/for-next as of writing: f04867a5d0d3 ("gpio: loongson-64bit: Remove unneeded ngpio assignment"). Koichiro Den (3): gpio: pseudo: common helper functions for pseudo gpio devices gpio: sim: convert to use gpio-pseudo utilities gpio: virtuser: convert to use gpio-pseudo utilities drivers/gpio/Kconfig | 6 +++ drivers/gpio/Makefile | 1 + drivers/gpio/gpio-pseudo.c | 86 ++++++++++++++++++++++++++++++++++++ drivers/gpio/gpio-pseudo.h | 24 ++++++++++ drivers/gpio/gpio-sim.c | 84 +++++------------------------------ drivers/gpio/gpio-virtuser.c | 73 +++++------------------------- 6 files changed, 139 insertions(+), 135 deletions(-) create mode 100644 drivers/gpio/gpio-pseudo.c create mode 100644 drivers/gpio/gpio-pseudo.h -- 2.45.2