It looks like the PM core has an all or nothing concept of whether a
device can and should wake the system, but in ACPI, the answer to these
depends on what S state you are talking about. If you look at
/proc/acpi/wakeup, it lists the lowest S state each device is capable of
waking the system in, but device_can_wakeup() appears to just check an
all or nothing flag, rather than consider what S state we may be
transitioning to. If a device is capable of wakeup from S3, but we are
going to S4, then won't device_can_wakeup() return true, and thus, the
driver will mistakenly try to enable wakeup when hibernating?
Conversely, if an ethernet controller is capable of waking up the system
from S5, that does not mean we want it left powered on and capable of
doing so when we shut the machine off, but had WOL enabled. Is there no
way to enable wakeup only from S3, even though the device is capable of
lower levels?
--
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