Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 127351
b: refs/heads/master
c: c70e0d9
h: refs/heads/master
i:
  127349: b46d8fc
  127347: e757a28
  127343: 10e807a
v: v3
  • Loading branch information
Chris Wright authored and Jesse Barnes committed Jan 7, 2009
1 parent e85cc49 commit fab85ff
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2debb4d2019fa05a0896f1591dea0e0dc21bc046
refs/heads/master: c70e0d9dfef3d826c8ae4f7544acc53887cb161d
9 changes: 9 additions & 0 deletions trunk/drivers/pci/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@ config PCI_DEBUG

When in doubt, say N.

config PCI_STUB
tristate "PCI Stub driver"
depends on PCI
help
Say Y or M here if you want be able to reserve a PCI device
when it is going to be assigned to a guest operating system.

When in doubt, say N.

config HT_IRQ
bool "Interrupts on hypertransport devices"
default y
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/pci/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ obj-$(CONFIG_HOTPLUG) += setup-bus.o

obj-$(CONFIG_PCI_SYSCALL) += syscall.o

obj-$(CONFIG_PCI_STUB) += pci-stub.o

ifeq ($(CONFIG_PCI_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
endif
47 changes: 47 additions & 0 deletions trunk/drivers/pci/pci-stub.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/* pci-stub - simple stub driver to reserve a pci device
*
* Copyright (C) 2008 Red Hat, Inc.
* Author:
* Chris Wright
*
* This work is licensed under the terms of the GNU GPL, version 2.
*
* Usage is simple, allocate a new id to the stub driver and bind the
* device to it. For example:
*
* # echo "8086 10f5" > /sys/bus/pci/drivers/pci-stub/new_id
* # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/e1000e/unbind
* # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind
* # ls -l /sys/bus/pci/devices/0000:00:19.0/driver
* .../0000:00:19.0/driver -> ../../../bus/pci/drivers/pci-stub
*/

#include <linux/module.h>
#include <linux/pci.h>

static int pci_stub_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
return 0;
}

static struct pci_driver stub_driver = {
.name = "pci-stub",
.id_table = NULL, /* only dynamic id's */
.probe = pci_stub_probe,
};

static int __init pci_stub_init(void)
{
return pci_register_driver(&stub_driver);
}

static void __exit pci_stub_exit(void)
{
pci_unregister_driver(&stub_driver);
}

module_init(pci_stub_init);
module_exit(pci_stub_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Chris Wright <chrisw@sous-sol.org>");

0 comments on commit fab85ff

Please sign in to comment.