[RFC PATCH 0/2] Introduce configfs-based interface for gpio-aggregator
From: Koichiro Den
Date: Wed Jan 29 2025 - 10:56:11 EST
This RFC patch series proposes adding a configfs-based interface to
gpio-aggregator to address limitations in the existing 'new_device'
interface.
The existing 'new_device' interface has several limitations:
#1. No way to determine when GPIO aggregator creation is complete.
#2. No way to retrieve errors when creating a GPIO aggregator.
#3. No way to trace a GPIO line of an aggregator back to its
corresponding physical device.
#4. The 'new_device' echo does not indicate which virtual gpiochip.<N>
was created.
#5. No way to assign names to GPIO lines exported through an aggregator.
Although issues #1 to #3 could technically be resolved easily without
configfs, using configfs offers a streamlined, modern, and extensible
approach, especially since gpio-sim and gpio-virtuser already utilize
configfs.
This RFC patch series includes two commits:
* [PATCH 1/2] implements the configfs interface and resolves the above
issues:
- #1, Wait for probe completion using a platform bus notifier,
in the same manner as gpio-virtuser.
- #2, Introduce a 'live' attribute (like gpio-virtuser/gpio-sim),
returning -ENXIO when probe fails.
- #3, Structure configfs directories to clearly map virtual lines to
physical ones.
- #4, Add a read-only 'dev_name' attribute exposing the platform bus
device name.
- #5, Allow users to set custom line names via a 'name' attribute.
* [PATCH 2/2] provides documentation on using the new interface.
Koichiro Den (2):
gpio: aggregator: Introduce configfs interface
Documentation: gpio: document configfs interface for gpio-aggregator
.../admin-guide/gpio/gpio-aggregator.rst | 86 +++
drivers/gpio/gpio-aggregator.c | 673 +++++++++++++++++-
2 files changed, 757 insertions(+), 2 deletions(-)
--
2.45.2