On Mon, 6 Jul 2015, Felipe Balbi wrote: > > You know, this is the first time I've run across this optimization. > > > > In principle it applies to any USB host controller, not just to PHYs. > > There's no reason to enable wakeup for a controller if none of the > > attached devices can issue a wakeup request. > > > > I don't know if implementing this in other HCDs would save any power. > > Any ideas? > > most likely it would. Enabling wakeup usually boils down to keeping a > tiny part of the controller (or PHY) powered up. Sometimes that lies in > an always-on power domain, so there would be no difference. Doug, how would you feel about reworking the patch that exports usb_wakeup_enabled_descendants()? Instead of doing it that way, create and export a new subroutine in hcd.c called usb_hcd_wakeup_not_needed(), or something similar. The idea is that a host controller driver can do something like this: do_wakeup = device_may_wakeup(...); if (usb_hcd_wakeup_not_needed(hcd)) do_wakeup = false; It encapsulates what you want in a form that can easily be used by every HCD. We can then add this call into the HCDs, over time. (Merging a change like this would be a challenge. I guess Felipe would have to put it in a separate branch which Greg could pull, or vice versa, so that the new routine would be available to patches submitted to either maintainer.) Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html