> > Disks in general are an example (IDE beeing the one that is currently> > implemented, but we'll probably have to do the same for SATA and SCSI> > at one point), you want to spin them off (with proper cache flush> > etc...) when suspending to RAM, while you don't when suspending to> > disk, as you really don't want them to be spun up again right away to> > write the suspend image.> > So suspend-to-RAM more or less matches PCI D3hot, and> suspend-to-DISK matches PCI D3cold. If those power states> were passed to the device suspend(), the disk driver could act> appropriately. In my observation, D3cold was never passed> down, it was always D3hot.

Maybe a better approach would be to describe the required features tothe drivers rather than encoding them in a single integer. Ratherlike passing a request that states "lowest power level with device stateretained, must not do DMA, enable remote wake up"