Introduce configfs-based interface for gpio-aggregator
From: | Koichiro Den <koichiro.den-AT-canonical.com> | |
To: | linux-gpio-AT-vger.kernel.org | |
Subject: | [RFC PATCH 0/2] Introduce configfs-based interface for gpio-aggregator | |
Date: | Thu, 30 Jan 2025 00:55:23 +0900 | |
Message-ID: | <20250129155525.663780-1-koichiro.den@canonical.com> | |
Cc: | geert+renesas-AT-glider.be, linus.walleij-AT-linaro.org, brgl-AT-bgdev.pl, maciej.borzecki-AT-canonical.com, linux-kernel-AT-vger.kernel.org | |
Archive-link: | Article |
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