[PATCH] powermac: More powermac backlight fixes
This patch fixes several problems: - The legacy backlight value might be set at interrupt time. Introduced a worker to prevent it from directly calling the backlight code. - via-pmu allows the backlight to be grabbed, in which case we need to prevent other kernel code from changing the brightness. - Don't send PMU requests in via-pmu-backlight when the machine is about to sleep or waking up. - More Kconfig fixes. Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: "Antonino A. Daplas" <adaplas@pol.net> 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
994aad251a
commit
4b755999d6
@ -45,14 +45,11 @@
|
||||
#include <linux/pmu.h>
|
||||
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/backlight.h>
|
||||
#ifdef CONFIG_PPC_PMAC
|
||||
#include <asm/pmac_feature.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
#include <asm/backlight.h>
|
||||
#endif
|
||||
|
||||
MODULE_AUTHOR("Franz Sirl <Franz.Sirl-kernel@lauterbach.com>");
|
||||
|
||||
#define KEYB_KEYREG 0 /* register # for key up/down data */
|
||||
@ -237,11 +234,6 @@ static struct adb_ids keyboard_ids;
|
||||
static struct adb_ids mouse_ids;
|
||||
static struct adb_ids buttons_ids;
|
||||
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
/* Exported to via-pmu.c */
|
||||
int disable_kernel_backlight = 0;
|
||||
#endif /* CONFIG_PMAC_BACKLIGHT */
|
||||
|
||||
/* Kind of keyboard, see Apple technote 1152 */
|
||||
#define ADB_KEYBOARD_UNKNOWN 0
|
||||
#define ADB_KEYBOARD_ANSI 0x0100
|
||||
@ -527,7 +519,7 @@ adbhid_buttons_input(unsigned char *data, int nb, struct pt_regs *regs, int auto
|
||||
|
||||
case 0xa: /* brightness decrease */
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
if (!disable_kernel_backlight && down)
|
||||
if (down)
|
||||
pmac_backlight_key_down();
|
||||
#endif
|
||||
input_report_key(adbhid[id]->input, KEY_BRIGHTNESSDOWN, down);
|
||||
@ -535,7 +527,7 @@ adbhid_buttons_input(unsigned char *data, int nb, struct pt_regs *regs, int auto
|
||||
|
||||
case 0x9: /* brightness increase */
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
if (!disable_kernel_backlight && down)
|
||||
if (down)
|
||||
pmac_backlight_key_up();
|
||||
#endif
|
||||
input_report_key(adbhid[id]->input, KEY_BRIGHTNESSUP, down);
|
||||
|
Reference in New Issue
Block a user