diff options
Diffstat (limited to 'drivers/video/backlight/mbp_nvidia_bl.c')
-rw-r--r-- | drivers/video/backlight/mbp_nvidia_bl.c | 13 |
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) { struct backlight_properties props; struct pci_dev *host; + int intensity; host = pci_get_bus_and_slot(0, 0); @@ -163,6 +164,18 @@ static int __devinit mb_bl_add(struct acpi_device *dev) return -ENODEV; } + /* Check that the hardware responds - this may not work under EFI */ + + intensity = hw_data->backlight_ops.get_brightness(NULL); + + if (!intensity) { + hw_data->set_brightness(1); + if (!hw_data->backlight_ops.get_brightness(NULL)) + return -ENODEV; + + hw_data->set_brightness(0); + } + if (!request_region(hw_data->iostart, hw_data->iolen, "Macbook backlight")) return -ENXIO; |