summaryrefslogtreecommitdiffstats
path: root/include/linux/fb.h
diff options
context:
space:
mode:
authorRichard Purdie2007-02-10 15:10:33 +0100
committerRichard Purdie2007-02-20 09:38:46 +0100
commit37ce69a57ff217a4ca0871e9ee5aa58c052b7d86 (patch)
tree21cdbb8c988eed585437bb502ca15c2998ea7fbc /include/linux/fb.h
parentbacklight: Remove unneeded backlight update_status calls (diff)
downloadkernel-qcow2-linux-37ce69a57ff217a4ca0871e9ee5aa58c052b7d86.tar.gz
kernel-qcow2-linux-37ce69a57ff217a4ca0871e9ee5aa58c052b7d86.tar.xz
kernel-qcow2-linux-37ce69a57ff217a4ca0871e9ee5aa58c052b7d86.zip
backlight: Rework backlight/fb interaction simplifying, lots
fb_info->bl_mutex is badly thought out and the backlight class doesn't need it if the framebuffer/backlight register/unregister order is consistent, particularly after the backlight locking fixes. Fix the drivers to use the order: backlight_device_register() register_framebuffer() unregister_framebuffer() backlight_device_unregister() and turn bl_mutex into a lock for the bl_curve data only. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Diffstat (limited to 'include/linux/fb.h')
-rw-r--r--include/linux/fb.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h
index bf7158b59b25..be913ec87169 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -769,16 +769,13 @@ struct fb_info {
struct fb_videomode *mode; /* current mode */
#ifdef CONFIG_FB_BACKLIGHT
- /* Lock ordering:
- * bl_mutex (protects bl_dev and bl_curve)
- * bl_dev->sem (backlight class)
- */
- struct mutex bl_mutex;
-
/* assigned backlight device */
+ /* set before framebuffer registration,
+ remove after unregister */
struct backlight_device *bl_dev;
/* Backlight level curve */
+ struct mutex bl_curve_mutex;
u8 bl_curve[FB_BACKLIGHT_LEVELS];
#endif