On Thu, Feb 21, 2008 at 09:15:32AM +0000, Matthew Garrett wrote: > > Offering OSI(Linux) makes a statement about our implementation - we're > telling the firmware that it behaves in a certain way. That lets vendors > start depending on that behaviour, and if that behaviour turns out to be > different to Windows then we never get to fix that behaviour. Fine for > vendors that have special-cased their firmware, bad for the vast > majority of systems. Exactly, that's the problem. Suppose we put in an OSI(Linux), and Lenovo, thanks to the fact that they are working with Novell, puts in a special case hack just for whatever version of SLES they happen to be testing with. Well, great. Now suppose that three other laptops from different manufacturers (say, Sony, Fujitsu, and Asus) do things differently, the Windows way, and someone posts a patch to the ACPI drivers (and it might not and probably won't be the Thinkpad specific thinkpad_acpi.c file) which changes things so that it works for Sony, Fujitsu, et. al. --- and in the process, it breaks things for Lenovo, because the Lenovo is doing something special based on OSI(Linux) thanks to their special collaboration with Thomas Renniger and Novell. Oops. Now we have a mess, and we have to start having special DMI-based blacklists and whitelists, and life generally sucks. It would be much better if we define feature-specific OSI() strings that have well defined meanings for each place where Lenovo has to do something different than What Happens With Windows --- especially for stuff which is generic, since all laptop manufactuers need to interoperate with whatever cr*p Windows ship. At the end of the day, since Intel was originally too lazy to ship an ACPI conformance test suite, like it or not, Windows *has* become the APCI conformance test suite, and all laptop manufacturers (at least for today) must bow to the might and power which is the market share of Microsoft. - Ted - 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