Re: [PATCH] PCI: Add pci shutdown ability

Benjamin Herrenschmidt
2005-04-26T03:43:00Z

> > I believe it should just do suspend(PMSG_SUSPEND) before system
> > shutdown. If you think distintion between shutdown and suspend is
> > important (I am not 100% convinced it is), we can just add flag
> > saying "this is system shutdown".
>
> Then why even have the device_shutdown() call and notifier in the struct
> device_driver?

Historical bad ideas...

> > Actually this patch should be in the queue somewhere... We had it in
> > suse trees for a long time, and IMO it can solve problem easily.
> >
> > Pavel
> >
> > --- clean-git/kernel/sys.c 2005-04-23 23:21:55.000000000 +0200
> > +++ linux/kernel/sys.c 2005-04-24 00:20:47.000000000 +0200
> > @@ -404,6 +404,7 @@
> > case LINUX_REBOOT_CMD_HALT:
> > notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
> > system_state = SYSTEM_HALT;
> > + device_suspend(PMSG_SUSPEND);
> > device_shutdown();
>
> Again, why keep device_shutdown() around at all then?

I've argued for folding shutdown and suspend for some time now, though
some drivers who rely on shutdown today will need fixing I suppose.

Also, I think kexec shouldn't use "shutdown" but a different message.
There are some conceptual differences, things like stopping the platters
on disk etc... things you want to do on one and not the other. In a way,
kexec needs are very similar to suspend-to-disk "freeze" state. I'd
rather call PMSG_FREEZE there.

Ben.