Put unused PCI devices in D3

From: Jeffrey W. Baker
Date: Mon Sep 29 2008 - 16:11:19 EST


My laptop computer has half a dozen unused PCI devices that could be put
in the D3 power state, but they loiter in D0. The audio codec, the
ethernet adapter, the unused PCI Express port, all the USB controllers,
the IEEE1394 controller, the SD/MMC card controller, and the cardbus
bridge all support D3(hot) power state.

Currently it looks to me from browsing the code that D3 is only used in
Linux when the whole machine is headed for S3, and the drivers are asked
to suspend. I think the drivers should be able to enter D3 in other
circumstances:

* During pci_unregister_driver ... i.e. on module unload
* When a network interface is downed
* If the device is a bridge or hub with no downstream device
* Whenever userspace requests D3 via sysfs

So, what fundamental problem prevents me from, for example, calling
pci_set_power_state() from ohci1394's __exit?

-jwb

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/