Re: [PATCH] call drv->shutdown at rmmod

From: Benjamin Herrenschmidt
Date: Fri Aug 15 2003 - 03:55:59 EST



> You're assuming that a driver can always bring a device out a shutdown
> state. That's one of the things we talked about at OLS, and the other half
> of the justification behind such a feature, not just making sure the
> device is queisced. Your argument against my suggestion are some of the
> same arguments for a feature like you're introducing.

There is a problem of semantics here. Is shutdown() supposed to shutdown
the hardware device (ie. low power) or just the driver ? If yes, then
it's duplicate of the PM callbacks. My understanding of the shutdown()
callback is that it was more than "stop driver activity, put device into
idle state" to prepare for a shutdown/reboot (though we do also sleep
IDE drives in this case, but this is because of that nasty cache flush
issue).

The problem with kexec is just that. What it needs isn't low power devices,
it needs device back in "idle" state, but if possible powered up (or at
least in whatever state the driver found them on boot). The most important
thing is to actually stop pending bus mastering activities.

On PPC, we have a name for that which comes from Open Firmware (since we
need to ask the firmware to stop bus mastering & idle devices the same way
when we take over it and before we get control of the system memory) and
it's called "quiesce".

Ben.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/