On Thu, 15 May 2014, Jacob Pan wrote: > > > should we respect ignore_children flag here? not all parent devices > > > create children with proper .prepare() function. this allows parents > > > override children. > > > I am looking at USB, a USB device could have logical children such > > > as ep_xx, they don't go through the same subsystem .prepare(). > > > > Well, I'm not sure about that. Let me consider that for a while. > OK. let me be more clear about the situation i see in USB. Correct me > if I am wrong, a USB device will always has at least one endpoint/ep_00 > as a kid for control pipe, it is a logical device. So when > device_prepare() is called, its call back is NULL which > makes .direct_complete = 0. Since children device suspend is called > before parents, the parents .direct_complete flag will always get > cleared. > > What i am trying to achieve here is to see if we avoid resuming > built-in (hardwired connect_type) non-hub USB devices based on this new > patchset. E.g. we don't want to resume/suspend USB camera every time in > system suspend/resume cycle if they are already rpm suspended. We can > save ~100ms resume time for the devices we have tested. This is a good point, but I don't think it is at all related to ignore_children. Instead, it seems that the best way to solve it would be to add a ->prepare() handler for usb_ep_device_type that would always turn on direct_complete. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html