On Thu, 2005-03-10 at 11:28 -0500, Alan Stern wrote: > On Wed, 9 Mar 2005, Adam Belay wrote: > > > > This partly a question of definitions and usage. However, if a parent's > > > change of state can be made transparent to the child device driver (i.e., > > > the parent resumes automatically whenever the child driver tries to do > > > anything), then why shouldn't the parent suspend itself without suspending > > > the child? > > > > I think your not drawing a distinction between physical and logical > > (class) devices. A physical device can be turned off, but the logical > > child device is allowed to remain on. However, A physical child to a > > physical device must be powered off before the parent. Perhaps this was > > your intention? > > Normally yes, I agree, we will want to suspend children before parents. > But your argument isn't valid; a physical child to a physical device might > very well have its own external power supply. Then it wouldn't be > necessary for the child to be off at the time the parent is turned off. > Consider a USB disk drive as an example. If it plugs into the wall then > it doesn't need to be spun down when its USB hub is suspended. > > Of course if you want to power down both devices, then certainly the child > should be turned off first. > > Alan Stern This is why I'm in favor of power domains (power parents and children that can be independent of physical device relations). Power domains are common for internal devices, not just external devices. Still, if you disable a physical parent, then the device is no longer operational. Disable the usb host controller, and the external disk drive cannot be used (in fact data may be lost). So it's necessary to stop every child device first, and generally also power it off if we can control the power source. Adam -- Adam Belay <amb@xxxxxxxxxx>