[PATCH v4 00/10] backlight: Replace struct fb_info in interfaces
Thomas Zimmermann
tzimmermann at suse.de
Tue Mar 5 16:22:33 UTC 2024
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.
v4:
* fix fb_bl_device() declaration and export
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 | 6 +++++
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, 71 insertions(+), 97 deletions(-)
--
2.44.0
More information about the dri-devel
mailing list