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 22 static int pci_stub_probe(struct pci_dev *dev, const struct pci_device_id *id) 23 { 24 return 0; 25 } 26 27 static struct pci_driver stub_driver = { 28 .name = "pci-stub", 29 .id_table = NULL, /* only dynamic id's */ 30 .probe = pci_stub_probe, 31 }; 32 33 static int __init pci_stub_init(void) 34 { 35 return pci_register_driver(&stub_driver); 36 } 37 38 static void __exit pci_stub_exit(void) 39 { 40 pci_unregister_driver(&stub_driver); 41 } 42 43 module_init(pci_stub_init); 44 module_exit(pci_stub_exit); 45 46 MODULE_LICENSE("GPL"); 47 MODULE_AUTHOR("Chris Wright <chrisw@sous-sol.org>"); 48