mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
[POWERPC] Fix sleep on some powerbooks
The PMU backlight code would kick in during sleep/resume even on machines that use a different backlight method. This breaks sleep on some PowerBooks. This fixes it by adding a flag to indicate whether the backlight is controlled by the PMU, and testing that before trying to use the PMU to turn off the backlight during sleep. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
7f172890a8
commit
fa19d63488
1 changed files with 3 additions and 2 deletions
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
static struct backlight_ops pmu_backlight_data;
|
static struct backlight_ops pmu_backlight_data;
|
||||||
static DEFINE_SPINLOCK(pmu_backlight_lock);
|
static DEFINE_SPINLOCK(pmu_backlight_lock);
|
||||||
static int sleeping;
|
static int sleeping, uses_pmu_bl;
|
||||||
static u8 bl_curve[FB_BACKLIGHT_LEVELS];
|
static u8 bl_curve[FB_BACKLIGHT_LEVELS];
|
||||||
|
|
||||||
static void pmu_backlight_init_curve(u8 off, u8 min, u8 max)
|
static void pmu_backlight_init_curve(u8 off, u8 min, u8 max)
|
||||||
|
@ -128,7 +128,7 @@ void pmu_backlight_set_sleep(int sleep)
|
||||||
|
|
||||||
spin_lock_irqsave(&pmu_backlight_lock, flags);
|
spin_lock_irqsave(&pmu_backlight_lock, flags);
|
||||||
sleeping = sleep;
|
sleeping = sleep;
|
||||||
if (pmac_backlight) {
|
if (pmac_backlight && uses_pmu_bl) {
|
||||||
if (sleep) {
|
if (sleep) {
|
||||||
struct adb_request req;
|
struct adb_request req;
|
||||||
|
|
||||||
|
@ -166,6 +166,7 @@ void __init pmu_backlight_init()
|
||||||
printk(KERN_ERR "PMU Backlight registration failed\n");
|
printk(KERN_ERR "PMU Backlight registration failed\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
uses_pmu_bl = 1;
|
||||||
bd->props.max_brightness = FB_BACKLIGHT_LEVELS - 1;
|
bd->props.max_brightness = FB_BACKLIGHT_LEVELS - 1;
|
||||||
pmu_backlight_init_curve(0x7F, 0x46, 0x0E);
|
pmu_backlight_init_curve(0x7F, 0x46, 0x0E);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue