mirror of
https://github.com/adulau/aha.git
synced 2024-12-30 12:46:17 +00:00
backlight: Allow enable/disable of fb backlights, fixing regressions
Enabling the backlight by default appears to cause problems for many users. This patch disables backlight controls unless explicitly enabled by users via a module parameter. Since PMAC users are known to work, default to enabled in that case. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
This commit is contained in:
parent
238576e12f
commit
202d4e6025
5 changed files with 51 additions and 5 deletions
|
@ -357,6 +357,12 @@ static int default_lcd_on __devinitdata = 1;
|
|||
static int mtrr = 1;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
static int backlight __devinitdata = 1;
|
||||
#else
|
||||
static int backlight __devinitdata = 0;
|
||||
#endif
|
||||
|
||||
/* PLL constants */
|
||||
struct aty128_constants {
|
||||
u32 ref_clk;
|
||||
|
@ -1652,6 +1658,9 @@ static int __devinit aty128fb_setup(char *options)
|
|||
} else if (!strncmp(this_opt, "crt:", 4)) {
|
||||
default_crt_on = simple_strtoul(this_opt+4, NULL, 0);
|
||||
continue;
|
||||
} else if (!strncmp(this_opt, "backlight:", 10)) {
|
||||
backlight = simple_strtoul(this_opt+10, NULL, 0);
|
||||
continue;
|
||||
}
|
||||
#ifdef CONFIG_MTRR
|
||||
if(!strncmp(this_opt, "nomtrr", 6)) {
|
||||
|
@ -1985,6 +1994,7 @@ static int __devinit aty128_init(struct pci_dev *pdev, const struct pci_device_i
|
|||
par->lock_blank = 0;
|
||||
|
||||
#ifdef CONFIG_FB_ATY128_BACKLIGHT
|
||||
if (backlight)
|
||||
aty128_bl_init(par);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -308,6 +308,12 @@ static int xclk;
|
|||
static int comp_sync __devinitdata = -1;
|
||||
static char *mode;
|
||||
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
static int backlight __devinitdata = 1;
|
||||
#else
|
||||
static int backlight __devinitdata = 0;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PPC
|
||||
static int default_vmode __devinitdata = VMODE_CHOOSE;
|
||||
static int default_cmode __devinitdata = CMODE_CHOOSE;
|
||||
|
@ -2575,7 +2581,7 @@ static int __devinit aty_init(struct fb_info *info)
|
|||
| (USE_F32KHZ | TRISTATE_MEM_EN), par);
|
||||
} else
|
||||
#endif
|
||||
if (M64_HAS(MOBIL_BUS)) {
|
||||
if (M64_HAS(MOBIL_BUS) && backlight) {
|
||||
#ifdef CONFIG_FB_ATY_BACKLIGHT
|
||||
aty_bl_init (par);
|
||||
#endif
|
||||
|
@ -3757,6 +3763,8 @@ static int __init atyfb_setup(char *options)
|
|||
xclk = simple_strtoul(this_opt+5, NULL, 0);
|
||||
else if (!strncmp(this_opt, "comp_sync:", 10))
|
||||
comp_sync = simple_strtoul(this_opt+10, NULL, 0);
|
||||
else if (!strncmp(this_opt, "backlight:", 10))
|
||||
backlight = simple_strtoul(this_opt+10, NULL, 0);
|
||||
#ifdef CONFIG_PPC
|
||||
else if (!strncmp(this_opt, "vmode:", 6)) {
|
||||
unsigned int vmode =
|
||||
|
|
|
@ -268,6 +268,11 @@ static int nomtrr = 0;
|
|||
#endif
|
||||
static int force_sleep;
|
||||
static int ignore_devlist;
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
static int backlight = 1;
|
||||
#else
|
||||
static int backlight = 0;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* prototypes
|
||||
|
@ -2348,6 +2353,7 @@ static int __devinit radeonfb_pci_register (struct pci_dev *pdev,
|
|||
MTRR_TYPE_WRCOMB, 1);
|
||||
#endif
|
||||
|
||||
if (backlight)
|
||||
radeonfb_bl_init(rinfo);
|
||||
|
||||
printk ("radeonfb (%s): %s\n", pci_name(rinfo->pdev), rinfo->name);
|
||||
|
@ -2469,6 +2475,8 @@ static int __init radeonfb_setup (char *options)
|
|||
force_dfp = 1;
|
||||
} else if (!strncmp(this_opt, "panel_yres:", 11)) {
|
||||
panel_yres = simple_strtoul((this_opt+11), NULL, 0);
|
||||
} else if (!strncmp(this_opt, "backlight:", 10)) {
|
||||
backlight = simple_strtoul(this_opt+10, NULL, 0);
|
||||
#ifdef CONFIG_MTRR
|
||||
} else if (!strncmp(this_opt, "nomtrr", 6)) {
|
||||
nomtrr = 1;
|
||||
|
|
|
@ -83,6 +83,11 @@ static int bpp __devinitdata = 8;
|
|||
#ifdef CONFIG_MTRR
|
||||
static int nomtrr __devinitdata = 0;
|
||||
#endif
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
static int backlight __devinitdata = 1;
|
||||
#else
|
||||
static int backlight __devinitdata = 0;
|
||||
#endif
|
||||
|
||||
static char *mode_option __devinitdata = NULL;
|
||||
|
||||
|
@ -1311,7 +1316,10 @@ static int __devinit nvidiafb_probe(struct pci_dev *pd,
|
|||
nvidia_save_vga(par, &par->SavedReg);
|
||||
|
||||
pci_set_drvdata(pd, info);
|
||||
|
||||
if (backlight)
|
||||
nvidia_bl_init(par);
|
||||
|
||||
if (register_framebuffer(info) < 0) {
|
||||
printk(KERN_ERR PFX "error registering nVidia framebuffer\n");
|
||||
goto err_out_iounmap_fb;
|
||||
|
@ -1408,6 +1416,8 @@ static int __devinit nvidiafb_setup(char *options)
|
|||
paneltweak = simple_strtoul(this_opt+11, NULL, 0);
|
||||
} else if (!strncmp(this_opt, "vram:", 5)) {
|
||||
vram = simple_strtoul(this_opt+5, NULL, 0);
|
||||
} else if (!strncmp(this_opt, "backlight:", 10)) {
|
||||
backlight = simple_strtoul(this_opt+10, NULL, 0);
|
||||
#ifdef CONFIG_MTRR
|
||||
} else if (!strncmp(this_opt, "nomtrr", 6)) {
|
||||
nomtrr = 1;
|
||||
|
|
|
@ -215,6 +215,11 @@ static int noaccel __devinitdata = 0;
|
|||
#ifdef CONFIG_MTRR
|
||||
static int nomtrr __devinitdata = 0;
|
||||
#endif
|
||||
#ifdef CONFIG_PMAC_BACKLIGHT
|
||||
static int backlight __devinitdata = 1;
|
||||
#else
|
||||
static int backlight __devinitdata = 0;
|
||||
#endif
|
||||
|
||||
static char *mode_option __devinitdata = NULL;
|
||||
static int strictmode = 0;
|
||||
|
@ -2059,7 +2064,10 @@ static int __devinit rivafb_probe(struct pci_dev *pd,
|
|||
info->monspecs.modedb = NULL;
|
||||
|
||||
pci_set_drvdata(pd, info);
|
||||
|
||||
if (backlight)
|
||||
riva_bl_init(info->par);
|
||||
|
||||
ret = register_framebuffer(info);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR PFX
|
||||
|
@ -2157,6 +2165,8 @@ static int __init rivafb_setup(char *options)
|
|||
forceCRTC = -1;
|
||||
} else if (!strncmp(this_opt, "flatpanel", 9)) {
|
||||
flatpanel = 1;
|
||||
} else if (!strncmp(this_opt, "backlight:", 10)) {
|
||||
backlight = simple_strtoul(this_opt+10, NULL, 0);
|
||||
#ifdef CONFIG_MTRR
|
||||
} else if (!strncmp(this_opt, "nomtrr", 6)) {
|
||||
nomtrr = 1;
|
||||
|
|
Loading…
Reference in a new issue