Re: [PM] Patrick: which part of "maintainer" and "peer review" needs explaining to you?

Benjamin Herrenschmidt
2003-08-23T17:20:35Z

> > If you want to help, take a look at drivers/pci/power.c. That file
> > should not need to exist, but if I kill it bad stuff happens after
> > resume. Killing pm_register() and friends would be nice.
>
> I'll get there. Give me a couple of weeks..

Actually, on ppc, I have no problem removing that old crap. I suppose
part of the problem Pavel is having is the new code never calling PCI
save_state().

The probleme here is related to the new semantics. save_state() is
indeed meaningless now, but a bunch of drivers implemented sleep in
there because this was really what was called on suspend()... So
unless we want to remove save_state from struct pci_driver and fix all
PCI drivers that implement it, we shall call both save_state() and
suspend() from pci-driver.c suspend routine. (Patch sent separately)

> The decision to kill the level parameter came from extensive discussions
> with Benh, who convinced me that we only need to call ->suspend() once for
> any device; though we still need to somehow provide for those that need to
> power down with interrupts disabled. I suggested -EAGAIN, since it allows
> us to special case those that need it, with the minimum amount of impact.
> Ben agreed with me.

Well... I think I told you I don't like much the check on the interrupt
and tended to prefer either a separate power_down_irq callback or a
parameter, but that would mean changing prototype for drivers... I
agreed we can live with your current scheme though.

Ben.