diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2007-03-03 12:43:52 -0500 |
---|---|---|
committer | Richard Purdie <rpurdie@rpsys.net> | 2007-03-05 03:49:38 -0500 |
commit | 202d4e602555e68c2bc71775228876b0356785c8 (patch) | |
tree | e47c4013016e21a231b9d2873a2d75aa2750c5fe /drivers/video/nvidia | |
parent | 238576e12fef1d52751c6e08db2d0bdb0e248caf (diff) |
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>
Diffstat (limited to 'drivers/video/nvidia')
-rw-r--r-- | drivers/video/nvidia/nvidia.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/video/nvidia/nvidia.c b/drivers/video/nvidia/nvidia.c index c18e9557ca30..b97ec6901263 100644 --- a/drivers/video/nvidia/nvidia.c +++ b/drivers/video/nvidia/nvidia.c | |||
@@ -83,6 +83,11 @@ static int bpp __devinitdata = 8; | |||
83 | #ifdef CONFIG_MTRR | 83 | #ifdef CONFIG_MTRR |
84 | static int nomtrr __devinitdata = 0; | 84 | static int nomtrr __devinitdata = 0; |
85 | #endif | 85 | #endif |
86 | #ifdef CONFIG_PMAC_BACKLIGHT | ||
87 | static int backlight __devinitdata = 1; | ||
88 | #else | ||
89 | static int backlight __devinitdata = 0; | ||
90 | #endif | ||
86 | 91 | ||
87 | static char *mode_option __devinitdata = NULL; | 92 | static char *mode_option __devinitdata = NULL; |
88 | 93 | ||
@@ -1311,7 +1316,10 @@ static int __devinit nvidiafb_probe(struct pci_dev *pd, | |||
1311 | nvidia_save_vga(par, &par->SavedReg); | 1316 | nvidia_save_vga(par, &par->SavedReg); |
1312 | 1317 | ||
1313 | pci_set_drvdata(pd, info); | 1318 | pci_set_drvdata(pd, info); |
1314 | nvidia_bl_init(par); | 1319 | |
1320 | if (backlight) | ||
1321 | nvidia_bl_init(par); | ||
1322 | |||
1315 | if (register_framebuffer(info) < 0) { | 1323 | if (register_framebuffer(info) < 0) { |
1316 | printk(KERN_ERR PFX "error registering nVidia framebuffer\n"); | 1324 | printk(KERN_ERR PFX "error registering nVidia framebuffer\n"); |
1317 | goto err_out_iounmap_fb; | 1325 | goto err_out_iounmap_fb; |
@@ -1408,6 +1416,8 @@ static int __devinit nvidiafb_setup(char *options) | |||
1408 | paneltweak = simple_strtoul(this_opt+11, NULL, 0); | 1416 | paneltweak = simple_strtoul(this_opt+11, NULL, 0); |
1409 | } else if (!strncmp(this_opt, "vram:", 5)) { | 1417 | } else if (!strncmp(this_opt, "vram:", 5)) { |
1410 | vram = simple_strtoul(this_opt+5, NULL, 0); | 1418 | vram = simple_strtoul(this_opt+5, NULL, 0); |
1419 | } else if (!strncmp(this_opt, "backlight:", 10)) { | ||
1420 | backlight = simple_strtoul(this_opt+10, NULL, 0); | ||
1411 | #ifdef CONFIG_MTRR | 1421 | #ifdef CONFIG_MTRR |
1412 | } else if (!strncmp(this_opt, "nomtrr", 6)) { | 1422 | } else if (!strncmp(this_opt, "nomtrr", 6)) { |
1413 | nomtrr = 1; | 1423 | nomtrr = 1; |