linux/drivers/pci/pci-stub.c
<<
>>
Prefs
   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>");
  48