[PATCH 00/10] backlight: Replace struct fb_info in interfaces

Thomas Zimmermann
2024-02-12T16:26:50Z

Backlight drivers implement struct backlight_ops.check_fb, which
uses struct fb_info in its interface. Replace the callback with one
the 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.

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 | 4 +++
drivers/video/backlight/aat2870_bl.c | 7 ------
drivers/video/backlight/backlight.c | 9 +++++--
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/sh_mobile_lcdcfb.c | 7 ------
drivers/video/fbdev/ssd1307fb.c | 31 +++++++++---------------
include/linux/backlight.h | 16 ++++++------
include/linux/pwm_backlight.h | 1 -
14 files changed, 55 insertions(+), 97 deletions(-)

--
2.43.0