[PATCH] powermac: Combined fixes for backlight code
This patch fixes several problems: - pmac_backlight_key() is called under interrupt context, and therefore can't use mutexes or semaphores, so defer the backlight level for later, as it's not critical (original code by Aristeu S. Rozanski F. <aris@valeta.org>). - Add exports for functions that might be called from modules - Fix Kconfig depdencies on PMAC_BACKLIGHT. - Fix locking issues on calls from inside the driver (reported by Aristeu S. Rozanski F., too) - Fix wrong calculation of backlight values in some of the drivers - Replace pmac_backlight_key_up/down by inline functions [akpm@osdl.org: fix function prototypes] Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch> Acked-by: Aristeu S. Rozanski F. <aris@valeta.org> Acked-by: Rene Nussbaumer <linux-kernel@killerfox.forkbomb.ch> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
58d383a622
commit
e01af0384f
@@ -932,16 +932,7 @@ static int nvidiafb_blank(int blank, struct fb_info *info)
|
||||
NVWriteSeq(par, 0x01, tmp);
|
||||
NVWriteCrtc(par, 0x1a, vesa);
|
||||
|
||||
#ifdef CONFIG_FB_NVIDIA_BACKLIGHT
|
||||
mutex_lock(&info->bl_mutex);
|
||||
if (info->bl_dev) {
|
||||
down(&info->bl_dev->sem);
|
||||
info->bl_dev->props->power = blank;
|
||||
info->bl_dev->props->update_status(info->bl_dev);
|
||||
up(&info->bl_dev->sem);
|
||||
}
|
||||
mutex_unlock(&info->bl_mutex);
|
||||
#endif
|
||||
nvidia_bl_set_power(info, blank);
|
||||
|
||||
NVTRACE_LEAVE();
|
||||
|
||||
|
Reference in New Issue
Block a user