Re: [PATCH v2 06/14] USB: centralize usb port power policy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 22, 2013 at 2:39 AM, Oliver Neukum <oneukum@xxxxxxx> wrote:
> On Fri, 2013-11-22 at 01:07 -0800, Dan Williams wrote:
>> Move all port power policy evaluation to usb_port_runtime_suspend().
>> Makes it clearer what blocks port power off and is preparation for
>> follow on changes that
>> 1/ make a usb_port a proper (device model) parent
>>    of a usb_device
>> 2/ advertise to userspace what constraints are keeping a
>>    port powered
>> 3/ changing the meaning of the usb_port runtime suspended
>>    state.
>> 4/ add new constraints peer-port-power-state and connect_type
>
> It seems to me that if you use reset_resume() you must
> check whether all children further down in the tree support
> reset_resume() in their drivers.
>

If a device does not support reset_resume I expect it will fail
autosuspend_check().  When that happens the device will stay in the
RPM_ACTIVE state.  Consequently its parents and ancestors will be
prevented from transitioning to RPM_SUSPENDED.  I think this would
have been a problem prior to "[PATCH v2 07/14] USB: make usb_ports
proper parents of their child usb_devices" which makes hubs honor the
runtime pm state of their descendants.

Might be something powertop should look at, if it does not already,
i.e. suggest moving a usb device when it is holding up a tree of
devices that could otherwise sleep.
--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux