summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2007-02-10 14:10:33 +0000
committerRichard Purdie <rpurdie@rpsys.net>2007-02-20 08:38:46 +0000
commit37ce69a57ff217a4ca0871e9ee5aa58c052b7d86 (patch)
tree21cdbb8c988eed585437bb502ca15c2998ea7fbc /include/linux
parentb5c6916b3118d4301dc2f8cf8d33f13e5324a3a5 (diff)
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')
-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