Re: Nested suspends; messages vs. states

Patrick Mochel
2005-03-24T02:13:05Z

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1235 bytes --]

On Wed, 23 Mar 2005, David Brownell wrote:

> On Tuesday 22 March 2005 4:52 pm, Patrick Mochel wrote:
> > >
> > I think the core should always call ->suspend() for a device, regardless
> > of whether it thinks it's in a low power state, or inactive. This is
> > specifically for the reason that a device could be a low-power runtime
> > state when the system is suspended.
>
> I don't quite see a need for this. If the parent/bridge driver knows
> the device is adequately suspended, why kick it again? It's actually
> rather annoying -- and error/bug prone! -- to have to code drivers to
> detect and cope with superfluous suspend calls.

The call doesn't need to actually kick the device. It just needs to check
some state field in the device object. My point was that the core
shouldn't differentiate between not-suspended and suspended devices.

Note that this point would be moot if we moved to a complete bus-centric
view of the tree. We wouldn't care about individual devices; we would just
call the bridge drivers, which could do their own checking on which
devices were suspended and needed to be called. Note that that would be
very trivial with lists of devices in each particular state, like I just
suggested. :)

Pat