On Tue, 25 Nov 2008, Deepak Saxena wrote: > The sideband signal is a gpio. The driver knows that the GPIO exists, > but it does not know that it anything about it is routed on the board > IMHO it should not. It's a difficult problem. You've essentially got a platform device on the USB bus. > > The easiest answer is for the driver to call directly into the platform code. > > Agreed, and there are several ways to do this: > > One is to do wrap code around #ifdef and if(machine_is_olpc()) to make > a call to an OLPC-specific call. > > The other is to add a generic platform wakeup hook mechanism such as > either my original proposal or adding a set_wakeup() to struct device > itself. Another option is to have a single platform_set_wakeup() > pointer similar to the platform_notify() and platform_notify_remove(). I'm not sure... This sort of thing isn't something I've had to deal with before. Suppose the same sort of WLAN interface was packaged as an independent, external USB device and one of them was plugged into an OLPC. Then how would you know which device was the one attached to the embedded controller and which was external? > Note that in the OLPC tree we have some #ifdef OLPC in the wifi driver > but those are not upstream and I'm going to work on removing them. I > would prefer not to add anymore. That's understandable. Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm