Re: generic power management for USB subsystem similar to PCI one?

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

 



On Tue, Jul 21, 2020 at 09:23:14PM +0530, Vaibhav Gupta wrote:
> Hello,
> Currently I am working on removing legacy power management .suspend() and
> .resume() callbacks from PCI subsystem. The updates aim to give power management
> control to PCI core and let drivers do the only device-specific jobs without
> using any PCI helper functions.
> 
> I was wondering if similar changes can be applied to the USB subsystem?
> I explored and found that .suspend() in USB drivers also accept the pm_message_t
> type argument.
> Also, .suspend() and .resume() in usb drivers, accept "struct usb_interface *"
> type argument which seems similar to PCI legacy drivers accepting
> "struct pci_dev*" type.
> 
> Moreover, "struct usb_device_driver" seems analogous to "struct pci_driver" as
> it also has .suspend() and .resume() callback. Also, it has a bitfield
> "generic_subclass:1" which is described as, " @generic_subclass: if set to 1,
> the generic USB driver's probe, disconnect, resume and suspend functions will be
> called in addition to the driver's own, so this part of the setup does not need
> to be replicated. "
> 
> So the generic PM, talked about in USB drivers, is similar to PCI one?

I don't know what you mean by "the generic PM".  IMO, overall USB power 
management is pretty similar to the arrangement in PCI, although with 
less legacy stuff remaining.

>  The
> non-generic PM in USB is similar to legacy PM in PCI?

No, I don't think so, although it's hard to give an exact answer to such 
an imprecise question.  What sort of thing would make USB PM similar to 
legacy PCI PM?

> A similar update for the USB subsystem is possible?

I think you'll find that the power management in USB drivers already 
does only device-specific things, with overall control remaining in the 
USB core.

Maybe if you came up with some more specific examples of what you are 
thinking of, I could give better answers.

Alan Stern



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

  Powered by Linux