Policy for default wakeup-enable setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The kernel's policy regarding default wakeup-enable settings is
explained in the kerneldoc for device_init_wakeup() (and maybe in some
other places too):

 * By default, most devices should leave wakeup disabled.  The exceptions are
 * devices that everyone expects to be wakeup sources: keyboards, power buttons,
 * possibly network interfaces, etc.

I suggest that we add to this list all devices that do not generate
wakeup requests on their own initiative but act as bridges, forwarding
wakeup requests from one bus to another.

For example, a USB host controller can act as a bridge between a PCI
bus and a USB bus, and it can forward wakeup requests from the USB bus
to the PCI bus.  The controller doesn't generate any wakeup requests on
its own.  (The root hub it provides _can_ produce wakeup requests, but
the root hub is represented by a separate device structure and has its
own independent wakeup settings.)  If device_may_wakeup() returns false
for the host controller then the controller's driver will configure it
not to forward wakeup requests during system sleep.

Following the kernel's policy, USB host controllers currently are
disabled for remote wakeup by default. This really isn't what we should
do.  If the user wants a USB device to wake the system then he has to
"echo enabled >/sys/.../power/wakeup" for both the device and its
controller.  There's no reason to require that second step -- we lose
nothing by enabling wakeups on the controller by default.

What do people think about this change in the policy?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux