Module Name: src Committed By: jruoho Date: Wed May 12 15:59:52 UTC 2010
Modified Files: src/sys/dev/acpi: acpi_power.c Log Message: Initial pass for issues observed by dyoung@ on HP Pavilion N3270. In this laptop there is a PNP0C0B ("ACPI fan") with the following properties: _PSC : Power state for D3 (alone). _PR0 : Power resources for D0. _PSx : Power state switch for D0 and D3. Thus, it is impossible to get or set the D3 power state via power resources alone; there is only a single PowerResource() and it is for D0. To tackle this: 1. Evaluate the direct _PSC control method if and only if there is no given _PRx. The order is important; it is known that some other systems implement the _PSC method (like _STA) incorrectly. 2. If no _PRx is available (and thus no _ON or _OFF), do not error out. Instead, if we have AE_NOT_FOUND, continue to evaluate the power state switch method, _PSx, which (on this laptop) should alone suffice for the D0 -> D3 transition. To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/dev/acpi/acpi_power.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.