gpio: sysfs: fixes and clean ups
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest23 patches 23 repliesIn review
- v123 patches 16 repliesSuperseded
Changes in v2 from the cover letter
- Keep explicit lock-as-irq call in sysfs and add comment that it should be removed once the broken drivers have been fixed (patch 3/23).
- Add comment that the class-device field of struct gpiochip is used by the sysfs interface (patch 6/23).
- Add "sysfs"-infix to gpiochip sysfs registration functions as suggested by Alexandre (patch 7/23).
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/23 | gpio: sysfs: fix memory leaks and device hotplugdrivers/ | +19 | 0 replies | |
| 2/23 | gpio: clean up gpiochip_removedrivers/ | +9 | 1 reply | |
| 3/23 | gpio: sysfs: fix redundant lock-as-irq handlingdrivers/ | +15 | 1 reply | |
| 4/23 | gpio: sysfs: preparatory clean upsdrivers/ | +4 | 1 reply | |
| 5/23 | gpio: sysfs: reduce gpiochip-export locking scopedrivers/ | +4 | 1 reply | |
| 6/23 | gpio: sysfs: clean up chip class-device handlingdrivers/ include/ | +15 | 1 reply | |
| 7/23 | gpio: sysfs: rename gpiochip registration functionsdrivers/ drivers/ drivers/ | +15 | 1 reply | |
| 8/23 | gpio: remove gpiod_sysfs_set_active_lowDocumentation/ Documentation/ Documentation/ +4 more | +2 | 1 reply | |
| 9/23 | gpio: sysfs: use DEVICE_ATTR macrosdrivers/ | +18 | 1 reply | |
| 10/23 | gpio: sysfs: release irq after class-device deregistrationdrivers/ | +5 | 1 reply | |
| 11/23 | gpio: sysfs: remove redundant export testsdrivers/ | +23 | 1 reply | |
| 12/23 | gpio: sysfs: add gpiod class-device datadrivers/ | +46 | 1 reply | |
| 13/23 | gpio: sysfs: remove redundant gpio-descriptor parametersdrivers/ | +11 | 1 reply | |
| 14/23 | gpio: sysfs: clean up interrupt-interface implementationdrivers/ drivers/ | +18 | 1 reply | |
| 15/23 | gpio: sysfs: only call irq helper if neededdrivers/ | +14 | 1 reply | |
| 16/23 | gpio: sysfs: split irq allocation and deallocationdrivers/ | +37 | 1 reply | |
| 17/23 | gpio: sysfs: clean up edge_storedrivers/ | +7 | 1 reply | |
| 18/23 | gpio: sysfs: clean up gpiod_export_link lockingdrivers/ | +8 | 1 reply | |
| 19/23 | gpio: sysfs: use per-gpio lockingdrivers/ | +34 | 1 reply | |
| 20/23 | gpio: sysfs: fix race between gpiod export and unexportdrivers/ | +26 | 1 reply | |
| 21/23 | gpio: sysfs: rename active-low helperdrivers/ | +2 | 1 reply | |
| 22/23 | gpio: sysfs: remove FLAG_SYSFS_DIRdrivers/ drivers/ | +7 | 1 reply | |
| 23/23 | gpio: sysfs: move irq trigger flags to class-device datadrivers/ drivers/ | +24 | 1 reply |
Reviews trailers per patch
None of the 23 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Alexandre Courbot |
|---|---|
| Series | R-b |
| 1/23 | |
| 2/23 | |
| 3/23 | |
| 4/23 | |
| 5/23 | |
| 6/23 | |
| 7/23 | |
| 8/23 | |
| 9/23 | |
| 10/23 | |
| 11/23 | |
| 12/23 | |
| 13/23 | |
| 14/23 | |
| 15/23 | |
| 16/23 | |
| 17/23 | |
| 18/23 | |
| 19/23 | |
| 20/23 | |
| 21/23 | |
| 22/23 | |
| 23/23 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 00/23] gpio: sysfs: fixes and clean ups
These patches fix a number of issues with the gpio sysfs interface, including
- fix memory leaks and crashes on device hotplug
- straighten out the convoluted locking
- reduce sysfs-interface latencies through more fine-grained locking
- more clearly separate the sysfs-interface implementation from gpiolib core
The first patch is marked for stable and could go into 4.1. [ May already have been applied but not pushed by Linus, but included in v2 for completeness. ]
Unfortunately we can't just kill the gpio sysfs interface, but these patches will make it more manageable and should allow us to implement a new user-space interface while maintaining the old one (for a while at least) without losing our sanity.
Note that there is still a race between chip remove and gpiod_request (and therefore sysfs export), which needs to be fixed separately (for instance as part of a generic solution to chip hotplugging).
Johan
Changes since v1:
- Keep explicit lock-as-irq call in sysfs and add comment that it should be removed once the broken drivers have been fixed (patch 3/23).
- Add comment that the class-device field of struct gpiochip is used by the sysfs interface (patch 6/23).
- Add "sysfs"-infix to gpiochip sysfs registration functions as suggested by Alexandre (patch 7/23).
Johan Hovold (23):
gpio: sysfs: fix memory leaks and device hotplug
gpio: clean up gpiochip_remove
gpio: sysfs: fix redundant lock-as-irq handling
gpio: sysfs: preparatory clean ups
gpio: sysfs: reduce gpiochip-export locking scope
gpio: sysfs: clean up chip class-device handling
gpio: sysfs: rename gpiochip registration functions
gpio: remove gpiod_sysfs_set_active_low
gpio: sysfs: use DEVICE_ATTR macros
gpio: sysfs: release irq after class-device deregistration
gpio: sysfs: remove redundant export tests
gpio: sysfs: add gpiod class-device data
gpio: sysfs: remove redundant gpio-descriptor parameters
gpio: sysfs: clean up interrupt-interface implementation
gpio: sysfs: only call irq helper if needed
gpio: sysfs: split irq allocation and deallocation
gpio: sysfs: clean up edge_store
gpio: sysfs: clean up gpiod_export_link locking
gpio: sysfs: use per-gpio locking
gpio: sysfs: fix race between gpiod export and unexport
gpio: sysfs: rename active-low helper
gpio: sysfs: remove FLAG_SYSFS_DIR
gpio: sysfs: move irq trigger flags to class-device data
Documentation/gpio/gpio-legacy.txt | 9 - Documentation/gpio/sysfs.txt | 8 - Documentation/zh_CN/gpio.txt | 8 - drivers/gpio/gpiolib-sysfs.c | 578 ++++++++++++++++++------------------- drivers/gpio/gpiolib.c | 18 +- drivers/gpio/gpiolib.h | 16 +- include/asm-generic/gpio.h | 5 - include/linux/gpio.h | 7 - include/linux/gpio/consumer.h | 6 - include/linux/gpio/driver.h | 4 +- 10 files changed, 290 insertions(+), 369 deletions(-)
Signature · 1 line
2.0.5