|
|
Subscribe / Log in / New account

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




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds