On Wed, Mar 02, 2005 at 09:27:27AM +1100, Benjamin Herrenschmidt was heard to remark: > On Tue, 2005-03-01 at 12:33 -0600, Linas Vepstas wrote: > > > The current proposal (and prototype) has a "master recovery thread" > > to handle the coordinated reset of the pci controller. This master > > recovery thyread makes three calls in struct pci_driver: > > > > void (*frozen) (struct pci_dev *); /* called when dev is first frozen */ > > void (*thawed) (struct pci_dev *); /* called after card is reset */ > > void (*perm_failure) (struct pci_dev *); /* called if card is dead */ > > See my other emails. I think only one callback is enough, and I think we > need more parameters.
That's a style issue. Propose an API, I'll code it. We can have the master recovery thread be a state machine, and so every device driver gets notified of state changes: typedef enum pci_bus_state { DEVICE_IO_FROZEN=1, DEVICE_IO_THAWED, DEVICE_PERM_FAILURE, }; struct pci_driver { .... void (*io_state_change) (struct pci_dev *dev, pci_bus_state); }; would that work? --linas - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/