fbdev: make FB_BACKLIGHT a tristate
Subsystems (2)
PATCH 1/1 fbdev: make FB_BACKLIGHT a tristate
BACKLIGHT_CLASS_DEVICE is already tristate, but a dependency FB_BACKLIGHT prevents it from being built as a module. There doesn't seem to be any particularly good reason for this, so switch FB_BACKLIGHT over to tristate.
---
v2: remove IS_ENABLED() from UABI headers. Userspace doesn't
know the kernel config, so just remove the ifdef guard
drivers/video/fbdev/Kconfig | 2 +- drivers/video/fbdev/core/fbsysfs.c | 8 ++++---- include/linux/fb.h | 2 +- include/uapi/linux/fb.h | 2 -- 4 files changed, 6 insertions(+), 8 deletions(-)
drivers/video/fbdev/Kconfig +1 -1
@@ -198,7 +198,7 @@ config FB_MACMODES default n config FB_BACKLIGHT - bool + tristate depends on FB select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_CLASS_DEVICE
drivers/video/fbdev/core/fbsysfs.c +4 -4
@@ -60,7 +60,7 @@ struct fb_info *framebuffer_alloc(size_t size, struct device *dev) info->device = dev; info->fbcon_rotate_hint =-1 ; -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )mutex_init (&info->bl_curve_mutex);#endif
@@ -429,7 +429,7 @@ static ssize_t show_fbstate(struct device *device,return snprintf (buf,PAGE_SIZE ,"%d\n" , fb_info->state); } -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )static ssize_t store_bl_curve (struct device *device,struct device_attribute *attr,const char *buf,size_t count)
@@ -510,7 +510,7 @@ static struct device_attribute device_attrs[] = {__ATTR (stride,S_IRUGO , show_stride,NULL ),__ATTR (rotate,S_IRUGO |S_IWUSR , show_rotate, store_rotate),__ATTR (state,S_IRUGO |S_IWUSR , show_fbstate, store_fbstate), -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED(CONFIG_FB_BACKLIGHT) __ATTR(bl_curve, S_IRUGO|S_IWUSR, show_bl_curve, store_bl_curve), #endif };
@@ -551,7 +551,7 @@ void fb_cleanup_device(struct fb_info *fb_info) } } -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )/* This function generates a linear backlight curve * * 0: off
include/linux/fb.h +1 -1
@@ -485,7 +485,7 @@ struct fb_info {struct list_head modelist;/* mode list */ struct fb_videomode *mode;/* current mode */ -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )/* assigned backlight device */ /* set before framebuffer registration, remove after unregister */
include/uapi/linux/fb.h +0 -2
@@ -393,11 +393,9 @@ struct fb_cursor { struct fb_image image; /* Cursor image */ }; -#ifdef CONFIG_FB_BACKLIGHT /* Settings for the generic backlight code */ #define FB_BACKLIGHT_LEVELS 128#define FB_BACKLIGHT_MAX 0xFF -#endif #endif /* _UAPI_LINUX_FB_H */
Signature · 1 line
2.17.2
Quoted 8 lines · Rob Clark
BACKLIGHT_CLASS_DEVICEis already tristate, but a dependencyFB_BACKLIGHTprevents it from being built as a module. There doesn't seem to be any particularly good reason for this, so switchFB_BACKLIGHTover to tristate.Signed-off-by Rob Clark <[email protected]>Tested-by Arnd Bergmann <[email protected]>
bump
maybe we can merge this via drm-misc?
BR,
-R
Quoted 95 lines
---
v2: removeIS_ENABLED()from UABI headers. Userspace doesn't
know the kernel config, so just remove the ifdef guarddrivers/video/fbdev/Kconfig | 2 +- drivers/video/fbdev/core/fbsysfs.c | 8 ++++---- include/linux/fb.h | 2 +- include/uapi/linux/fb.h | 2 -- 4 files changed, 6 insertions(+), 8 deletions(-)drivers/video/fbdev/Kconfig +1
-1@@ -198,7 +198,7 @@ config FB_MACMODES default n config FB_BACKLIGHT - bool + tristate depends on FB select BACKLIGHT_LCD_SUPPORT select BACKLIGHT_CLASS_DEVICEdrivers/video/fbdev/core/fbsysfs.c +4
-4@@ -60,7 +60,7 @@ struct fb_info *framebuffer_alloc(size_t size, struct device *dev) info->device = dev; info->fbcon_rotate_hint =-1 ; -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )mutex_init (&info->bl_curve_mutex);#endif @@ -429,7 +429,7 @@ static ssize_t show_fbstate(struct device *device,return snprintf (buf,PAGE_SIZE ,"%d\n" , fb_info->state); } -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )static ssize_t store_bl_curve (struct device *device,struct device_attribute *attr,const char *buf,size_t count)@@ -510,7 +510,7 @@ static struct device_attribute device_attrs[] = {__ATTR (stride,S_IRUGO , show_stride,NULL ),__ATTR (rotate,S_IRUGO |S_IWUSR , show_rotate, store_rotate),__ATTR (state,S_IRUGO |S_IWUSR , show_fbstate, store_fbstate), -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED(CONFIG_FB_BACKLIGHT) __ATTR(bl_curve, S_IRUGO|S_IWUSR, show_bl_curve, store_bl_curve), #endif };@@ -551,7 +551,7 @@ void fb_cleanup_device(struct fb_info *fb_info) } } -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )/* This function generates a linear backlight curve * * 0: off include/linux/fb.h +1
-1@@ -485,7 +485,7 @@ struct fb_info {struct list_head modelist;/* mode list */ struct fb_videomode *mode;/* current mode */ -#ifdef CONFIG_FB_BACKLIGHT +#if IS_ENABLED (CONFIG_FB_BACKLIGHT )/* assigned backlight device */ /* set before framebuffer registration, remove after unregister */ include/uapi/linux/fb.h +0
-3@@ -393,11 +393,9 @@ struct fb_cursor { struct fb_image image; /* Cursor image */ }; -#ifdef CONFIG_FB_BACKLIGHT /* Settings for the generic backlight code */ #define FB_BACKLIGHT_LEVELS 128#define FB_BACKLIGHT_MAX 0xFF -#endif #endif /* _UAPI_LINUX_FB_H */ --2.17.2
Quoted 11 lines · Rob Clark
Quoted 8 lines · Rob Clark
BACKLIGHT_CLASS_DEVICEis already tristate, but a dependencyFB_BACKLIGHTprevents it from being built as a module. There doesn't seem to be any particularly good reason for this, so switchFB_BACKLIGHTover to tristate.Signed-off-by Rob Clark <[email protected]>Tested-by Arnd Bergmann <[email protected]>bump
Patch queued for 4.21, thanks (also sorry for the delay).
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics