aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/backlight/mbp_nvidia_bl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/video/backlight/mbp_nvidia_bl.c b/drivers/video/backlight/mbp_nvidia_bl.c
index b22cfb24bd55..dd0e145170b7 100644
--- a/drivers/video/backlight/mbp_nvidia_bl.c
+++ b/drivers/video/backlight/mbp_nvidia_bl.c
@@ -143,6 +143,7 @@ static int __devinit mb_bl_add(struct acpi_device *dev)
143{ 143{
144 struct backlight_properties props; 144 struct backlight_properties props;
145 struct pci_dev *host; 145 struct pci_dev *host;
146 int intensity;
146 147
147 host = pci_get_bus_and_slot(0, 0); 148 host = pci_get_bus_and_slot(0, 0);
148 149
@@ -163,6 +164,18 @@ static int __devinit mb_bl_add(struct acpi_device *dev)
163 return -ENODEV; 164 return -ENODEV;
164 } 165 }
165 166
167 /* Check that the hardware responds - this may not work under EFI */
168
169 intensity = hw_data->backlight_ops.get_brightness(NULL);
170
171 if (!intensity) {
172 hw_data->set_brightness(1);
173 if (!hw_data->backlight_ops.get_brightness(NULL))
174 return -ENODEV;
175
176 hw_data->set_brightness(0);
177 }
178
166 if (!request_region(hw_data->iostart, hw_data->iolen, 179 if (!request_region(hw_data->iostart, hw_data->iolen,
167 "Macbook backlight")) 180 "Macbook backlight"))
168 return -ENXIO; 181 return -ENXIO;