mbox series

[v3,0/3] Add synchronous fake device creation utility for GPIO drivers

Message ID 20250221133501.2203897-1-koichiro.den@canonical.com
Headers show
Series Add synchronous fake device creation utility for GPIO drivers | expand

Message

Koichiro Den Feb. 21, 2025, 1:34 p.m. UTC
This patch series introduces a utility for some GPIO devices to reduce
code duplication. There are no functional changes.

In this series, only gpio-sim and gpio-virtuser are updated to use
dev-sync-probe, 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 dev-sync-probe as well.

This work originated from a suggestion by Bartosz:
https://lore.kernel.org/all/CAMRc=MfcooZXBqVpbQ0ak+8LGsPDzwKSN3Zfb0eZDx1Bx4duzQ@mail.gmail.com/

N.B. this submission is based on the same (gpio/for-next) commit as v2:
f04867a5d0d3 ("gpio: loongson-64bit: Remove unneeded ngpio assignment").


v2->v3 changes:
  - Fixed Kconfig (hide it from users with removing 'depends on', move it
    outside of 'if GPIOLIB ...').
  - Dropped an unnecessary comment, an unnecessary line break.
  - Fixed Copyright (Year 2025 -> 2021 for Bartosz, add mine) + add my
    MODULE_AUTHOR.
  - Renamed dev_sync_probe_data fields ('data' -> 'probe_data') for both
    gpio-virtuser and gpio-sim.

v1->v2 changes:
  - Renamed the files (gpio-pseudo.[ch] -> dev-sync-probe.[ch]).
  - Renamed the helper functions and a struct.
  - Fixed Kconfig (correcting bool to tristate, etc.).
  - Fixed Copyright.
  - Added some missing #include.

v2: https://lore.kernel.org/all/20250218160333.605829-1-koichiro.den@canonical.com/
v1: https://lore.kernel.org/all/20250217142758.540601-1-koichiro.den@canonical.com/


Koichiro Den (3):
  gpio: introduce utilities for synchronous fake device creation
  gpio: sim: convert to use dev-sync-probe utilities
  gpio: virtuser: convert to use dev-sync-probe utilities

 drivers/gpio/Kconfig          |  5 ++
 drivers/gpio/Makefile         |  3 ++
 drivers/gpio/dev-sync-probe.c | 97 +++++++++++++++++++++++++++++++++++
 drivers/gpio/dev-sync-probe.h | 25 +++++++++
 drivers/gpio/gpio-sim.c       | 84 +++++-------------------------
 drivers/gpio/gpio-virtuser.c  | 73 ++++----------------------
 6 files changed, 152 insertions(+), 135 deletions(-)
 create mode 100644 drivers/gpio/dev-sync-probe.c
 create mode 100644 drivers/gpio/dev-sync-probe.h