On Tue, 09 Oct 2007, Thomas Renninger wrote: > On Mon, 2007-10-08 at 10:12 -0300, Henrique de Moraes Holschuh wrote: > > Lenovo ThinkPads with ACPI Video brightness control often have 16 > > brightness levels in EC, and not just eight levels like older ThinkPads. > > > > We detect the number of brightness levels by the presence of a _BCL method > > with 18 entries (16 levels plus the on-battery and on-ac recommended > > levels). If _BCL is not there, we assume eight levels (T60, for example). > > Otherwise we assume sixteen levels (T61, X61, etc). > This is broken by design, pls don't add this to a mainline kernel. The thinkpad design does not expose the number of levels anywhere else. It is either _BCL, or worse (BCLL, a package used by _BLC/_BCM/_BQC in thinkpads). > Correct is: If there is _BCL (and other video functions) don't touch any > video or brightness functionality. There is a later patch that does just that. Why is it not enough? > Thinkpad_acpi should try to register for the acpi device with the > LNXVIDEO HID. If the probe/add function there is invoked, it can be sure > that video module tries to load and is handling the stuff in a defined > way and thinkpad_acpi should get its hands off. Far more complicated, and in the *specific* case of thinkpad-acpi, where I know exactly what to poke in 100% of the problem space ("thinkpads where thinkpad-acpi would handle backlight"), it is probably not the best way to go about it. > ----------------------------------------------------------- > ThinkPad has implemented _BCL/_BCM/_BQC method for Vista. > These brightness control methods are not used on Windows XP. "and Linux did all sort of unspeakable evil things through them not so long ago"... And still does even with the latest kernel, I suppose, anywhere people is feeding back brightness events into thinkpad-acpi's backlight control through userspace (something that is *not* recommended, and *not* the right thing to do in *any* thinkpad model IMO). Granted, some thinkpad models probably require BIOS updates *and* one of the latest kernels (or a video.c backport), to have proper backlight control. > Now, I don't understand which point the brightness control is broken. > Does Suse call _BCM , but not handle Notify (video, 0x86/0x87) > (Increase/Decrease Brightness) ? I am not sure it is broken anymore, actually. And I don't have the hardware to test it. > The BIOSs/Machine Type/Model/Support are too complicated. > Why don't you use assume BIOS supports _BCL/_BCM/_BQC if these methods > are found in ACPI name space ? That's exactly what I do :p -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh - 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