diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2024-09-06 10:52:16 +0300 |
|---|---|---|
| committer | Lee Jones <lee@kernel.org> | 2024-09-30 18:49:41 +0300 |
| commit | 26228256b796eb0145bdfb2ae34ec8c4c0ef1319 (patch) | |
| tree | 9c1d7d67582cb0919d0542a80a8ecff98a1a4180 /include/linux | |
| parent | d36870367c187daaa8a2c487d5ff1d57141eb039 (diff) | |
| download | linux-26228256b796eb0145bdfb2ae34ec8c4c0ef1319.tar.xz | |
backlight: lcd: Test against struct fb_info.lcd_dev
Add struct fb_info.lcd_dev for fbdev drivers to store a reference to
their lcd device. Update the lcd's fb_notifier_callback() to test for
this field. The lcd module can now detect if an lcd device belongs to
an fbdev device.
This works similar to the bl_dev for backlights and will allow for
the removal of the check_fb callback from several fbdev driver's lcd
devices.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20240906075439.98476-3-tzimmermann@suse.de
Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/fb.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index 267b59ead432..5ba187e08cf7 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -21,6 +21,7 @@ struct fb_info; struct file; struct i2c_adapter; struct inode; +struct lcd_device; struct module; struct notifier_block; struct page; @@ -480,6 +481,13 @@ struct fb_info { struct mutex bl_curve_mutex; u8 bl_curve[FB_BACKLIGHT_LEVELS]; #endif + + /* + * Assigned LCD device; set before framebuffer + * registration, remove after unregister + */ + struct lcd_device *lcd_dev; + #ifdef CONFIG_FB_DEFERRED_IO struct delayed_work deferred_work; unsigned long npagerefs; @@ -754,6 +762,11 @@ static inline struct backlight_device *fb_bl_device(struct fb_info *info) } #endif +static inline struct lcd_device *fb_lcd_device(struct fb_info *info) +{ + return info->lcd_dev; +} + /* fbmon.c */ #define FB_MAXTIMINGS 0 #define FB_VSYNCTIMINGS 1 |
