On Mon, 24 Nov 2008, Deepak Saxena wrote: > > So the platform code could initialize the "can_wakeup" setting when it > > first detects and registers the device. And you could add a > > "set_wakeup" function pointer to struct platform_device, which the > > bus-level suspend and resume routines would invoke to enable or disable > > remote wakeup, as appropriate. In the static structures these function > > pointers would point to routines that set or clear the appropriate bits > > in your Embedded Controller. > > Just thought of something. Not all the devices we can wakeup on are > platform devices. The WLAN specifically is an on-board USB device with > a sideband wakeup signal connected to the EC. So instead I'll make the > set_wakeup() ptr a member of struct device and call it in device_suspend(). No, don't do that. If the device has a sideband wakeup signal then the device's driver should be aware of that signal. So the driver should be modified, not the device core. The driver can ask the platform code to do whatever is necessary. Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm