aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci-stub.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-01-07 18:41:01 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-07 18:41:01 -0500
commitb424e8d3b438e841cd1700f6433a100a5d611e4a (patch)
tree545638d0b925de4c7f740286760767cca86cb91e /drivers/pci/pci-stub.c
parent7c7758f99d39d529a64d4f60d22129bbf2f16d74 (diff)
parentf6dc1e5e3d4b523e1616b43beddb04e4fb1d376a (diff)
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (98 commits) PCI PM: Put PM callbacks in the order of execution PCI PM: Run default PM callbacks for all devices using new framework PCI PM: Register power state of devices during initialization PCI PM: Call pci_fixup_device from legacy routines PCI PM: Rearrange code in pci-driver.c PCI PM: Avoid touching devices behind bridges in unknown state PCI PM: Move pci_has_legacy_pm_support PCI PM: Power-manage devices without drivers during suspend-resume PCI PM: Add suspend counterpart of pci_reenable_device PCI PM: Fix poweroff and restore callbacks PCI: Use msleep instead of cpu_relax during ASPM link retraining PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions PCI: PCIe portdrv: Rearrange code so that related things are together PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services PCI: PCIe portdrv: Add kerneldoc comments to some core functions x86/PCI: Do not use interrupt links for devices using MSI-X net: sfc: Use pci_clear_master() to disable bus mastering PCI: Add pci_clear_master() as opposite of pci_set_master() PCI hotplug: remove redundant test in cpq hotplug PCI: pciehp: cleanup register and field definitions ...
Diffstat (limited to 'drivers/pci/pci-stub.c')
-rw-r--r--drivers/pci/pci-stub.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/pci/pci-stub.c b/drivers/pci/pci-stub.c
new file mode 100644
index 000000000000..74fbec0bf6cb
--- /dev/null
+++ b/drivers/pci/pci-stub.c
@@ -0,0 +1,47 @@
1/* pci-stub - simple stub driver to reserve a pci device
2 *
3 * Copyright (C) 2008 Red Hat, Inc.
4 * Author:
5 * Chris Wright
6 *
7 * This work is licensed under the terms of the GNU GPL, version 2.
8 *
9 * Usage is simple, allocate a new id to the stub driver and bind the
10 * device to it. For example:
11 *
12 * # echo "8086 10f5" > /sys/bus/pci/drivers/pci-stub/new_id
13 * # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/e1000e/unbind
14 * # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind
15 * # ls -l /sys/bus/pci/devices/0000:00:19.0/driver
16 * .../0000:00:19.0/driver -> ../../../bus/pci/drivers/pci-stub
17 */
18
19#include <linux/module.h>
20#include <linux/pci.h>
21
22static int pci_stub_probe(struct pci_dev *dev, const struct pci_device_id *id)
23{
24 return 0;
25}
26
27static struct pci_driver stub_driver = {
28 .name = "pci-stub",
29 .id_table = NULL, /* only dynamic id's */
30 .probe = pci_stub_probe,
31};
32
33static int __init pci_stub_init(void)
34{
35 return pci_register_driver(&stub_driver);
36}
37
38static void __exit pci_stub_exit(void)
39{
40 pci_unregister_driver(&stub_driver);
41}
42
43module_init(pci_stub_init);
44module_exit(pci_stub_exit);
45
46MODULE_LICENSE("GPL");
47MODULE_AUTHOR("Chris Wright <chrisw@sous-sol.org>");