PERFORCE change 43463 for review
John Baldwin
jhb at FreeBSD.org
Fri Dec 5 12:47:06 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=43463
Change 43463 by jhb at jhb_blue on 2003/12/05 12:46:37
- Axe acpi_SetPowerState() and use acpi_pwr_switch_consumer()
instead.
- Update notes.
Affected files ...
.. //depot/projects/power/notes#9 edit
.. //depot/projects/power/sys/dev/acpica/acpi.c#7 edit
.. //depot/projects/power/sys/dev/acpica/acpi_pci.c#5 edit
.. //depot/projects/power/sys/dev/acpica/acpivar.h#5 edit
Differences ...
==== //depot/projects/power/notes#9 (text+ko) ====
@@ -17,12 +17,13 @@
powerstate via _PSx
+ fix ACPI PCI bus driver to call _PSx outside of calling the default
PCI powerstate functions
- - XXX: need to handle _PRx and _SxD !!
- - We should be able to hook the power resource stuff up once we have
- our power shadow tree in the acpi_SetPowerState() function.
- - Use the power resource consumer power state change stuff in
+ + Handle power resources (_PRx)
+ - Handle _SxD
+ - Handle _IRC?
+ + Use the power resource consumer power state change stuff in
acpi_SetDevicePowerState(). We need to pre-register all the resources
and consumers in a tree sweep though to do this properly.
+ - Add tree sweep to register consumers and producers.
- define a bus method for powering up/down devices
- bus_set_powerstate(parent, child, state) where state is on or off
# actually on/off is insufficient for a power management daemon that
==== //depot/projects/power/sys/dev/acpica/acpi.c#7 (text+ko) ====
@@ -1457,33 +1457,6 @@
}
/*
- * Set a specified device's power state.
- */
-ACPI_STATUS
-acpi_SetPowerState(ACPI_HANDLE handle, int state)
-{
- char *method;
-
- switch (state) {
- case ACPI_STATE_D0:
- method = "_PS0";
- break;
- case ACPI_STATE_D1:
- method = "_PS1";
- break;
- case ACPI_STATE_D2:
- method = "_PS2";
- break;
- case ACPI_STATE_D3:
- method = "_PS3";
- break;
- default:
- return (AE_BAD_PARAMETER);
- }
- return (AcpiEvaluateObject(handle, method, NULL, NULL));
-}
-
-/*
* Set the system sleep state
*
* Currently we support S1-S5 but S4 is only S4BIOS
==== //depot/projects/power/sys/dev/acpica/acpi_pci.c#5 (text+ko) ====
@@ -177,7 +177,7 @@
if (error)
return (error);
}
- status = acpi_SetPowerState(acpi_get_handle(child), acpi_state);
+ status = acpi_pwr_switch_consumer(acpi_get_handle(child), acpi_state);
if (ACPI_FAILURE(status))
device_printf(dev,
"Failed to set ACPI power state D%d on %s: %s\n",
==== //depot/projects/power/sys/dev/acpica/acpivar.h#5 (text+ko) ====
@@ -189,7 +189,6 @@
ACPI_RESOURCE *res);
extern ACPI_STATUS acpi_OverrideInterruptLevel(UINT32 InterruptNumber);
extern ACPI_STATUS acpi_SetIntrModel(int model);
-extern ACPI_STATUS acpi_SetPowerState(ACPI_HANDLE handle, int state);
extern ACPI_STATUS acpi_SetSleepState(struct acpi_softc *sc, int state);
extern ACPI_STATUS acpi_Enable(struct acpi_softc *sc);
extern ACPI_STATUS acpi_Disable(struct acpi_softc *sc);
More information about the p4-projects
mailing list