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(-) -- 2.44.0