This patch series introduces 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 Issue#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 v2 patch series includes 10 patches: Patch#1: Preparation for Patch#2. Patch#2: Introduce minimal configfs interface. Addresses Issue#1 to Issue#3. Patch#3: Addresses Issue#4. Patch#4: Preparation for Patch#5. Patch#5: Addresses Issue#5. Patch#6-7: Prepare for Patch#8. Patch#8: Expose devices create with sysfs to configfs. Patch#9: Suppress deferred probe for purely configfs-based aggregators. Patch#10: Documentation. Changes for v2: - Addressed feedback from Bartosz: * Expose devices created with sysfs to configfs. * Drop 'num_lines' attribute. * Fix bugs and crashes. * Organize internal symbol prefixes more cleanly. - Split diffs for improved reviewability. - Update kernel doc to reflect the changes. RFC (v1): https://lore.kernel.org/linux-gpio/20250129155525.663780-1-koichiro.den@xxxxxxxxxxxxx/T/#u Koichiro Den (10): gpio: aggregator: reorder functions to prepare for configfs introduction gpio: aggregator: introduce basic configfs interface gpio: aggregator: add read-only 'dev_name' configfs attribute gpio: aggregator: add read-write 'name' attribute gpio: aggregator: expose custom line names to forwarder gpio_chip gpio: aggregator: rename 'name' to 'key' in aggr_parse() gpio: aggregator: clean up gpio_aggregator_free() gpio: aggregator: expoose aggregator created via legacy sysfs to configfs gpio: aggregator: cancel deferred probe for devices created via configfs Documentation: gpio: document configfs interface for gpio-aggregator .../admin-guide/gpio/gpio-aggregator.rst | 93 ++ drivers/gpio/gpio-aggregator.c | 1194 ++++++++++++++--- 2 files changed, 1103 insertions(+), 184 deletions(-) -- 2.45.2