On Saturday 25 September 2004 3:16 pm, Oliver Neukum wrote: > Hi, > > just looking through drivers/base/power/runtime.c it seems to me > that the approach is basically unworkable and cannot be made to > work. A sane API should probably be: > > int suspend_subtree (struct device *top_dev, u32 level, int remote_wakeup);
Well, "may_wakeup", versus "must_not_wakeup", and also probably "must_wakeup". Autosuspend idle mice only when they can take themselves out of suspend ... ;) > int resume_subtree (struct device *top_dev); > > Both would work by literally walking struct list_head children of struct > device. How about that? Looks good to me; it's a good place to fix the current deadlock issues (so suspending/resuming can safely "remove" objects, or add them) and to stick any of those constant-stack-space algorithms. And maybe other related things ... it'd replace some current works-but-ugly recursive logic in USBcore. - Dave ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
