diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2007-02-10 14:10:33 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@rpsys.net> | 2007-02-20 08:38:46 +0000 |
commit | 37ce69a57ff217a4ca0871e9ee5aa58c052b7d86 (patch) | |
tree | 21cdbb8c988eed585437bb502ca15c2998ea7fbc /include/linux | |
parent | b5c6916b3118d4301dc2f8cf8d33f13e5324a3a5 (diff) | |
download | op-kernel-dev-37ce69a57ff217a4ca0871e9ee5aa58c052b7d86.zip op-kernel-dev-37ce69a57ff217a4ca0871e9ee5aa58c052b7d86.tar.gz |
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.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index bf7158b..be913ec 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 |