aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorBill Pemberton <wfp5p@virginia.edu>2012-11-21 15:34:58 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-28 16:00:58 -0500
commit8ccc9aa17a0ccfabf3b2eb31243c3204f81166f6 (patch)
tree065092ec1dbac6c0b717ea8291db2b90a4c5b53d /drivers/pci
parentb40b97ae736cad3084b13d2969b10c474572de89 (diff)
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')
-rw-r--r--drivers/pci/Makefile2
-rw-r--r--drivers/pci/hotplug.c37
-rw-r--r--drivers/pci/pci-driver.c33
-rw-r--r--drivers/pci/pci.h1
4 files changed, 33 insertions, 40 deletions
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 8d688b260e28..36f119d9c342 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -15,8 +15,6 @@ obj-$(CONFIG_PCIEPORTBUS) += pcie/
15 15
16obj-$(CONFIG_PCI_IOAPIC) += ioapic.o 16obj-$(CONFIG_PCI_IOAPIC) += ioapic.o
17 17
18obj-$(CONFIG_HOTPLUG) += hotplug.o
19
20# Build the PCI Hotplug drivers if we were asked to 18# Build the PCI Hotplug drivers if we were asked to
21obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ 19obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
22ifdef CONFIG_HOTPLUG_PCI 20ifdef CONFIG_HOTPLUG_PCI
diff --git a/drivers/pci/hotplug.c b/drivers/pci/hotplug.c
deleted file mode 100644
index 2b5352a7dffc..000000000000
--- a/drivers/pci/hotplug.c
+++ /dev/null
@@ -1,37 +0,0 @@
1#include <linux/kernel.h>
2#include <linux/pci.h>
3#include <linux/module.h>
4#include "pci.h"
5
6int pci_uevent(struct device *dev, struct kobj_uevent_env *env)
7{
8 struct pci_dev *pdev;
9
10 if (!dev)
11 return -ENODEV;
12
13 pdev = to_pci_dev(dev);
14 if (!pdev)
15 return -ENODEV;
16
17 if (add_uevent_var(env, "PCI_CLASS=%04X", pdev->class))
18 return -ENOMEM;
19
20 if (add_uevent_var(env, "PCI_ID=%04X:%04X", pdev->vendor, pdev->device))
21 return -ENOMEM;
22
23 if (add_uevent_var(env, "PCI_SUBSYS_ID=%04X:%04X", pdev->subsystem_vendor,
24 pdev->subsystem_device))
25 return -ENOMEM;
26
27 if (add_uevent_var(env, "PCI_SLOT_NAME=%s", pci_name(pdev)))
28 return -ENOMEM;
29
30 if (add_uevent_var(env, "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x",
31 pdev->vendor, pdev->device,
32 pdev->subsystem_vendor, pdev->subsystem_device,
33 (u8)(pdev->class >> 16), (u8)(pdev->class >> 8),
34 (u8)(pdev->class)))
35 return -ENOMEM;
36 return 0;
37}
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)
1215 put_device(&dev->dev); 1215 put_device(&dev->dev);
1216} 1216}
1217 1217
1218static int pci_uevent(struct device *dev, struct kobj_uevent_env *env)
1219{
1220 struct pci_dev *pdev;
1221
1222 if (!dev)
1223 return -ENODEV;
1224
1225 pdev = to_pci_dev(dev);
1226 if (!pdev)
1227 return -ENODEV;
1228
1229 if (add_uevent_var(env, "PCI_CLASS=%04X", pdev->class))
1230 return -ENOMEM;
1231
1232 if (add_uevent_var(env, "PCI_ID=%04X:%04X", pdev->vendor, pdev->device))
1233 return -ENOMEM;
1234
1235 if (add_uevent_var(env, "PCI_SUBSYS_ID=%04X:%04X", pdev->subsystem_vendor,
1236 pdev->subsystem_device))
1237 return -ENOMEM;
1238
1239 if (add_uevent_var(env, "PCI_SLOT_NAME=%s", pci_name(pdev)))
1240 return -ENOMEM;
1241
1242 if (add_uevent_var(env, "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x",
1243 pdev->vendor, pdev->device,
1244 pdev->subsystem_vendor, pdev->subsystem_device,
1245 (u8)(pdev->class >> 16), (u8)(pdev->class >> 8),
1246 (u8)(pdev->class)))
1247 return -ENOMEM;
1248 return 0;
1249}
1250
1218struct bus_type pci_bus_type = { 1251struct bus_type pci_bus_type = {
1219 .name = "pci", 1252 .name = "pci",
1220 .match = pci_bus_match, 1253 .match = pci_bus_match,
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 6e993af4d30b..e253881c4275 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -8,7 +8,6 @@
8 8
9/* Functions internal to the PCI core code */ 9/* Functions internal to the PCI core code */
10 10
11extern int pci_uevent(struct device *dev, struct kobj_uevent_env *env);
12extern int pci_create_sysfs_dev_files(struct pci_dev *pdev); 11extern int pci_create_sysfs_dev_files(struct pci_dev *pdev);
13extern void pci_remove_sysfs_dev_files(struct pci_dev *pdev); 12extern void pci_remove_sysfs_dev_files(struct pci_dev *pdev);
14#if !defined(CONFIG_DMI) && !defined(CONFIG_ACPI) 13#if !defined(CONFIG_DMI) && !defined(CONFIG_ACPI)