On Sat, 18 Dec 2010, Johannes Berg wrote: > Sounds to me like the difference isn't really in the driver, but the > core PM subsystem. Why does it care when powering off a device whether > it's during suspend, or during runtime? The two operations are quite different. One involves preparing the device to have its power removed (when the system goes to sleep), and the other involves actually reducing the device's power. (In other words, system suspend involves telling the driver "The computer is going to sleep in a moment, so get ready", whereas runtime suspend involves telling the driver "Your device isn't being used now so feel free to reduce its power".) There also are differences with regard to how wakeup events are signalled. Obviously there's a great deal of similarity and overlap, but they are _not_ the same in general. Now these differences don't matter so much to the PM core, but they should matter to subsystems and drivers. The PM core cares just enough to know that it has to invoke different callbacks for the different operations. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html