Hmm. atyfb_base.c has the same kind of things with magic PMAC code, but it
doesn't follow the USB pattern - it just replaces "pci_set_power_state()"
_entirely_.
It seems a very interesting suspend routine, btw. It doesn't seem to do
any of the pci_save_state() at all, just re-initializes from scratch.
Maybe it is unhappy with the PM layer deciding to try to restore state
since it clearly didn't..
Linus
--