@ -21,45 +21,17 @@
ACPI_MODULE_NAME ( " wakeup_devices " )
/**
* acpi_enable_wakeup_device_prep - Prepar e wake - up devices .
* acpi_enable_wakeup_devices - Enabl e wake - up device GPE s .
* @ sleep_state : ACPI system sleep state .
*
* Enable all wake - up devices ' power , unless the requested system sleep state is
* too deep .
* Enable wakeup device power of devices with the state . enable flag set and set
* the wakeup enable mask bits in the GPE registers that correspond to wakeup
* devices .
*/
void acpi_enable_wakeup_device_prep ( u8 sleep_state )
void acpi_enable_wakeup_devices ( u8 sleep_state )
{
struct list_head * node , * next ;
list_for_each_safe ( node , next , & acpi_wakeup_device_list ) {
struct acpi_device * dev = container_of ( node ,
struct acpi_device ,
wakeup_list ) ;
if ( ! dev - > wakeup . flags . valid | | ! dev - > wakeup . state . enabled
| | ( sleep_state > ( u32 ) dev - > wakeup . sleep_state ) )
continue ;
acpi_enable_wakeup_device_power ( dev , sleep_state ) ;
}
}
/**
* acpi_enable_wakeup_device - Enable wake - up device GPEs .
* @ sleep_state : ACPI system sleep state .
*
* Enable all wake - up devices ' GPEs , with the assumption that
* acpi_disable_all_gpes ( ) was executed before , so we don ' t need to disable any
* GPEs here .
*/
void acpi_enable_wakeup_device ( u8 sleep_state )
{
struct list_head * node , * next ;
/*
* Caution : this routine must be invoked when interrupt is disabled
* Refer ACPI2 .0 : P212
*/
list_for_each_safe ( node , next , & acpi_wakeup_device_list ) {
struct acpi_device * dev =
container_of ( node , struct acpi_device , wakeup_list ) ;
@ -68,6 +40,9 @@ void acpi_enable_wakeup_device(u8 sleep_state)
| | sleep_state > ( u32 ) dev - > wakeup . sleep_state )
continue ;
if ( dev - > wakeup . state . enabled )
acpi_enable_wakeup_device_power ( dev , sleep_state ) ;
/* The wake-up power should have been enabled already. */
acpi_enable_gpe ( dev - > wakeup . gpe_device , dev - > wakeup . gpe_number ,
ACPI_GPE_TYPE_WAKE ) ;
@ -75,13 +50,10 @@ void acpi_enable_wakeup_device(u8 sleep_state)
}
/**
* acpi_disable_wakeup_device - Disable devices ' wakeup capability .
* acpi_disable_wakeup_devices - Disable devices ' wakeup capability .
* @ sleep_state : ACPI system sleep state .
*
* This function only affects devices with wakeup . state . enabled set , which means
* that it reverses the changes made by acpi_enable_wakeup_device_prep ( ) .
*/
void acpi_disable_wakeup_device ( u8 sleep_state )
void acpi_disable_wakeup_devices ( u8 sleep_state )
{
struct list_head * node , * next ;