diff options
Diffstat (limited to 'drivers/pci/pci-driver.c')
-rw-r--r-- | drivers/pci/pci-driver.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 0aa14c92b570..f22f69ac6445 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c | |||
@@ -53,11 +53,10 @@ store_new_id(struct device_driver *driver, const char *buf, size_t count) | |||
53 | if (fields < 0) | 53 | if (fields < 0) |
54 | return -EINVAL; | 54 | return -EINVAL; |
55 | 55 | ||
56 | dynid = kmalloc(sizeof(*dynid), GFP_KERNEL); | 56 | dynid = kzalloc(sizeof(*dynid), GFP_KERNEL); |
57 | if (!dynid) | 57 | if (!dynid) |
58 | return -ENOMEM; | 58 | return -ENOMEM; |
59 | 59 | ||
60 | memset(dynid, 0, sizeof(*dynid)); | ||
61 | INIT_LIST_HEAD(&dynid->node); | 60 | INIT_LIST_HEAD(&dynid->node); |
62 | dynid->id.vendor = vendor; | 61 | dynid->id.vendor = vendor; |
63 | dynid->id.device = device; | 62 | dynid->id.device = device; |
@@ -380,14 +379,6 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner) | |||
380 | /* initialize common driver fields */ | 379 | /* initialize common driver fields */ |
381 | drv->driver.name = drv->name; | 380 | drv->driver.name = drv->name; |
382 | drv->driver.bus = &pci_bus_type; | 381 | drv->driver.bus = &pci_bus_type; |
383 | /* FIXME, once all of the existing PCI drivers have been fixed to set | ||
384 | * the pci shutdown function, this test can go away. */ | ||
385 | if (!drv->driver.shutdown) | ||
386 | drv->driver.shutdown = pci_device_shutdown; | ||
387 | else | ||
388 | printk(KERN_WARNING "Warning: PCI driver %s has a struct " | ||
389 | "device_driver shutdown method, please update!\n", | ||
390 | drv->name); | ||
391 | drv->driver.owner = owner; | 382 | drv->driver.owner = owner; |
392 | drv->driver.kobj.ktype = &pci_driver_kobj_type; | 383 | drv->driver.kobj.ktype = &pci_driver_kobj_type; |
393 | 384 | ||
@@ -514,6 +505,7 @@ struct bus_type pci_bus_type = { | |||
514 | .probe = pci_device_probe, | 505 | .probe = pci_device_probe, |
515 | .remove = pci_device_remove, | 506 | .remove = pci_device_remove, |
516 | .suspend = pci_device_suspend, | 507 | .suspend = pci_device_suspend, |
508 | .shutdown = pci_device_shutdown, | ||
517 | .resume = pci_device_resume, | 509 | .resume = pci_device_resume, |
518 | .dev_attrs = pci_dev_attrs, | 510 | .dev_attrs = pci_dev_attrs, |
519 | }; | 511 | }; |