aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/pci-driver.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 6d1a21611818..73e362992694 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -96,17 +96,21 @@ pci_create_newid_file(struct pci_driver *drv)
96{ 96{
97 int error = 0; 97 int error = 0;
98 if (drv->probe != NULL) 98 if (drv->probe != NULL)
99 error = sysfs_create_file(&drv->driver.kobj, 99 error = driver_create_file(&drv->driver, &driver_attr_new_id);
100 &driver_attr_new_id.attr);
101 return error; 100 return error;
102} 101}
103 102
103static void pci_remove_newid_file(struct pci_driver *drv)
104{
105 driver_remove_file(&drv->driver, &driver_attr_new_id);
106}
104#else /* !CONFIG_HOTPLUG */ 107#else /* !CONFIG_HOTPLUG */
105static inline void pci_free_dynids(struct pci_driver *drv) {} 108static inline void pci_free_dynids(struct pci_driver *drv) {}
106static inline int pci_create_newid_file(struct pci_driver *drv) 109static inline int pci_create_newid_file(struct pci_driver *drv)
107{ 110{
108 return 0; 111 return 0;
109} 112}
113static inline void pci_remove_newid_file(struct pci_driver *drv) {}
110#endif 114#endif
111 115
112/** 116/**
@@ -447,6 +451,7 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner,
447void 451void
448pci_unregister_driver(struct pci_driver *drv) 452pci_unregister_driver(struct pci_driver *drv)
449{ 453{
454 pci_remove_newid_file(drv);
450 driver_unregister(&drv->driver); 455 driver_unregister(&drv->driver);
451 pci_free_dynids(drv); 456 pci_free_dynids(drv);
452} 457}