On Mon, 04 Mar 2024, Thomas Zimmermann wrote: > Backlight drivers implement struct backlight_ops.check_fb, which > uses struct fb_info in its interface. Replace the callback with one > that does not use fb_info. > > In DRM, we have several drivers that implement backlight support. By > including <linux/backlight.h> these drivers depend on <linux/fb.h>. > At the same time, fbdev is deprecated for new drivers and likely to > be replaced on many systems. > > This patchset is part of a larger effort to implement the backlight > code without depending on fbdev. > > Patch 1 makes the backlight core match backlight and framebuffer > devices via struct fb_info.bl_dev. Patches 2 to 9 then go through > drivers and remove unnecessary implementations of check_fb. Finally, > patch 10 replaces the check_fb hook with controls_device, which > uses the framebuffer's Linux device instead of the framebuffer. > > v3: > * hide CONFIG_FB_BACKLIGHT behind fb_bl_device() (Lee) > * if-else cleanups (Andy) > * fix commit message of patch 2 (Andy) > v2: > * fix hid-picolcd for CONFIG_FB_BACKLIGHT=n > * fixes to commit messages > > Thomas Zimmermann (10): > backlight: Match backlight device against struct fb_info.bl_dev > auxdisplay/ht16k33: Remove struct backlight_ops.check_fb > hid/hid-picolcd: Fix initialization order > hid/hid-picolcd: Remove struct backlight_ops.check_fb > backlight/aat2870-backlight: Remove struct backlight.check_fb > backlight/pwm-backlight: Remove struct backlight_ops.check_fb > fbdev/sh_mobile_lcdc_fb: Remove struct backlight_ops.check_fb > fbdev/ssd1307fb: Init backlight before registering framebuffer > fbdev/ssd1307fb: Remove struct backlight_ops.check_fb > backlight: Add controls_device callback to struct backlight_ops > > drivers/auxdisplay/ht16k33.c | 8 ------ > drivers/hid/hid-picolcd_backlight.c | 7 ------ > drivers/hid/hid-picolcd_core.c | 14 +++++------ > drivers/hid/hid-picolcd_fb.c | 6 +++++ > drivers/video/backlight/aat2870_bl.c | 7 ------ > drivers/video/backlight/backlight.c | 8 ++++-- > drivers/video/backlight/bd6107.c | 12 ++++----- > drivers/video/backlight/gpio_backlight.c | 12 ++++----- > drivers/video/backlight/lv5207lp.c | 12 ++++----- > drivers/video/backlight/pwm_bl.c | 12 --------- > drivers/video/fbdev/core/fb_backlight.c | 5 ++++ > drivers/video/fbdev/sh_mobile_lcdcfb.c | 7 ------ > drivers/video/fbdev/ssd1307fb.c | 31 +++++++++--------------- > include/linux/backlight.h | 16 ++++++------ > include/linux/fb.h | 9 +++++++ > include/linux/pwm_backlight.h | 1 - > 16 files changed, 70 insertions(+), 97 deletions(-) All applied. Submitted for build testing. Will follow-up with a PR once that's passed. -- Lee Jones [李琼斯]