【发布时间】:2015-01-21 23:19:21
【问题描述】:
我需要在 linux 中以物理方式关闭我的 PCI 设备。我找到了我需要的函数,但它似乎编写了一个内核模式应用程序来使用该库,因为我在内核头文件中找到了它。
我在drivers/pci/pci.c找到了这个函数int pci_set_power_state(struct pci_dev *dev, pci_power_t state),不知道怎么用。
另外,我在文档中阅读过,设备驱动程序通常不用于将设备切换到 d3cold,因为设备只是关闭并且根本不工作(是的,有一些设备可以没有完全关闭,并且能够发送唤醒呼叫,但这是另一回事......)我认为我需要与 PCI 总线通信。
我不知道在哪里寻找答案,请指导我的任务。
【问题讨论】:
-
我几乎不明白上下文。您是否对某些设备有问题?您想通过用户空间管理设备吗?该设备是否在内核中有驱动程序?更加详尽。
-
我想关闭任何 PCI 设备的电源。在我的情况下它有驱动程序,但我不知道它是否在内核中编译。内核或用户空间并不重要,但用户空间应用程序对我来说更舒服。
标签: c unix linux-kernel power-management pci