Hi! > > > instead of modifying all drivers to explicitly state that they don't support > > > it, we should start with a test of the NULL pointer for .suspend which should > > > mean exactly the same without modifying the drivers. I find it obvious that > > > a driver which does provide a suspend function will not support it. And if > > > some drivers (eg /dev/null) can support it anyway, it's better to change > > > *those* drivers to explicitly mark them as compatible. > > > > No, that doesn't work. In the absence of suspend/resume methods, the PCI > > layer will implement basic PM itself. In some cases, this works. In > > others, it doesn't. There's no way to automatically determine which is > > which without modifying the drivers. > > Then change the PCI layer to do the basic PM only for known compatible > drivers, and modify only the known-compatible drivers to mark them > explicitly compatible. IMHO, it generally is a bad idea to require that > any driver explicitly states what it *does not* support. It's the reason > why users encounter problem on new features with old drivers. For instance, > do you know if the old ISA NE2000 driver breaks suspend ? I don't know, > but I would at least expect it not to support it by default. It's best > to announce what *is* supported and consider everything unimplemented > otherwise explicitly stated. Actually, ne2k driver is okay. ne2k cards are notoriously buggy, so it responds with "****, that damn card has just locked up again, lets reset it". Ok, it takes timeout to realize card is "locked up", so it could be improved... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html