On Thu, 13 Dec 2001, David Brownell wrote:

> > Unfortunately they can't keep power, if the host powers down,
> > as they are buspowered. And simply call them nonresumable is an
> > excuse because you don't like the remedy which is a simple clean
> > device driver.
> 
> Nope, it's a definition.  Suspend/resume involves preserving
> state.  If they didn't keep power, they couldn't keep that state,
> and they had to (re)initialize.  Just like unplug/replug.

This one I don't understand - why do you claim a buspowered device
couldn't keep state over suspend/resume?

Suspend is quite different from power-cut as devices are still allowed to
draw up to 0.5mA from the suspended USB (see 9.2.3, USB spec.). While
being enough for a pm-aware microcontroler to keep its state information
(like fn-address,  device-config, interface alternate setting) in the
microcontroler registers, it's probably insufficient to keep the firmware
running or even to have an external ram powered. Hence the device _does_
keep its state, but needs to reload firmware (or parts of) on resume.

And the device might simply use an eeprom to save and restore its state
during suspend/resume. The required state information can be reduced to 
only a few bytes - which are easy to write to some eeprom during the
10ms the device may take to complete suspending.

Martin


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to