On my laptop Thinkpad T520, I have the following problem: when I suspend it and then resume back, the backlight brightness always gets reset to the maximum value, independently of the value I had before suspending it. I tracked this issue down to the following: Thinkpad T520 has two video cards: Intel i915 and Nvidia GF119M. Attributes (as in struct acpi_video_device_attrib) for Intel are: 0x80010400 (LCD, bios_can_detect: 1) Attributes for Nvidia are: 0x110. So, there's no device_id_scheme bit, and thus acpi_video_bus_get_one_device() falls back to the legacy ID detection, and sets it as LCD. The main problem is that executing _BCM on either of those two cards affects the laptop's LCD panel in the same way. They appear to the kernel as two separate cards (and they are indeed). When I adjust the brightness, only that of Intel card is recorded. But during the resume, acpi_video_resume() calls acpi_video_device_lcd_set_level() for both cards, and Nvidia happens to be the second one, so its brightness "wins". Fwiw, I do not use proprietary nvidia drivers. At this point I'm unsure of what's the right way to solve that. Since Nvidia Optimus allows two cards to work simultaneously (for different applications), it does not make sense to check which card is "active", since both of them can be active. But, is there some way to check that two video adapters control the same physical LCD panel? So far I failed to find one: these acpi_video_device-s don't share anything, e.g. each of them has its own struct acpi_video_device_brightness and struct backlight_device. If anyone has some idea, please share. Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html