diff options
author | Bill Pemberton <wfp5p@virginia.edu> | 2012-11-22 00:34:58 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-29 01:00:58 +0400 |
commit | 8ccc9aa17a0ccfabf3b2eb31243c3204f81166f6 (patch) | |
tree | 065092ec1dbac6c0b717ea8291db2b90a4c5b53d /drivers/pci/pci-driver.c | |
parent | b40b97ae736cad3084b13d2969b10c474572de89 (diff) | |
download | linux-8ccc9aa17a0ccfabf3b2eb31243c3204f81166f6.tar.xz |
PCI: Move pci_uevent into pci-driver.c
With the demise of CONFIG_HOTPLUG as an option, the pci_uevent
function located in hotplug.c will now always be used and doesn't need
special treatment in the Makefile. Move pci_uevent into pci-driver.c
and remove hotplug.c
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/pci/pci-driver.c')
-rw-r--r-- | drivers/pci/pci-driver.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 8919801cb27e..1dc78c5cabf8 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -1215,6 +1215,39 @@ void pci_dev_put(struct pci_dev *dev) put_device(&dev->dev); } +static int pci_uevent(struct device *dev, struct kobj_uevent_env *env) +{ + struct pci_dev *pdev; + + if (!dev) + return -ENODEV; + + pdev = to_pci_dev(dev); + if (!pdev) + return -ENODEV; + + if (add_uevent_var(env, "PCI_CLASS=%04X", pdev->class)) + return -ENOMEM; + + if (add_uevent_var(env, "PCI_ID=%04X:%04X", pdev->vendor, pdev->device)) + return -ENOMEM; + + if (add_uevent_var(env, "PCI_SUBSYS_ID=%04X:%04X", pdev->subsystem_vendor, + pdev->subsystem_device)) + return -ENOMEM; + + if (add_uevent_var(env, "PCI_SLOT_NAME=%s", pci_name(pdev))) + return -ENOMEM; + + if (add_uevent_var(env, "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x", + pdev->vendor, pdev->device, + pdev->subsystem_vendor, pdev->subsystem_device, + (u8)(pdev->class >> 16), (u8)(pdev->class >> 8), + (u8)(pdev->class))) + return -ENOMEM; + return 0; +} + struct bus_type pci_bus_type = { .name = "pci", .match = pci_bus_match, |