On Thu, 06 Mar 2025, Thomas Zimmermann wrote: > This series removes the remaining dependencies on fbdev from the > backlight, lcd and led subsystems. Each depends on fbdev events to > track display state. Make fbdev inform each subsystem via a dedicated > interface instead. > > Patches 1 to 3 make fbdev track blank state for each display, so that > backlight code doesn't have to. > > Patches 4 to 6 remove fbdev event handling from backlight code. Patches > 7 and 8 remove fbdev event handling from lcd code and patches 9 and 10 > do the same for led's backlight trigger. > > The final patch removes the event constants from fbdev. > > With the series applied, the three subsystems do no longer depend on > fbdev. It's also a clean up for fbdev. Fbdev used to send out a large > number of events. That mechanism has been deprecated for some time and > converted call to dedicated functions instead. > > Testing is very welcome, as I don't have the hardware to test this > series. > > v3: > - export several symbols > - static-inline declare empty placeholders > v2: > - avoid IS_REACHABLE() in source file (Lee) > - simplify several interfaces and helpers > - use lock guards > - initialize global lists and mutices > > Thomas Zimmermann (11): > fbdev: Rework fb_blank() > fbdev: Track display blanking state > fbdev: Send old blank state in FB_EVENT_BLANK > backlight: Implement fbdev tracking with blank state from event > backlight: Move blank-state handling into helper > backlight: Replace fb events with a dedicated function call > backlight: lcd: Move event handling into helpers > backlight: lcd: Replace fb events with a dedicated function call > leds: backlight trigger: Move blank-state handling into helper > leds: backlight trigger: Replace fb events with a dedicated function > call > fbdev: Remove constants of unused events > > drivers/leds/trigger/ledtrig-backlight.c | 48 +++++----- > drivers/video/backlight/backlight.c | 93 +++++-------------- > drivers/video/backlight/lcd.c | 108 +++++++++-------------- > drivers/video/fbdev/core/fb_backlight.c | 12 +++ > drivers/video/fbdev/core/fb_info.c | 1 + > drivers/video/fbdev/core/fbmem.c | 82 ++++++++++++++--- > drivers/video/fbdev/core/fbsysfs.c | 8 +- > include/linux/backlight.h | 22 ++--- > include/linux/fb.h | 12 +-- > include/linux/lcd.h | 21 ++++- > include/linux/leds.h | 6 ++ > 11 files changed, 205 insertions(+), 208 deletions(-) No immediately obvious issues from the LEDs side. Still needs reviews from Backlight and fbdev. -- Lee Jones [李琼斯]