|
@@ -826,7 +826,7 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
|
/* lmc_trace(dev, "lmc_init_one in"); */
|
|
|
|
|
|
- err = pci_enable_device(pdev);
|
|
|
+ err = pcim_enable_device(pdev);
|
|
|
if (err) {
|
|
|
printk(KERN_ERR "lmc: pci enable failed: %d\n", err);
|
|
|
return err;
|
|
@@ -835,23 +835,20 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
err = pci_request_regions(pdev, "lmc");
|
|
|
if (err) {
|
|
|
printk(KERN_ERR "lmc: pci_request_region failed\n");
|
|
|
- goto err_req_io;
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
* Allocate our own device structure
|
|
|
*/
|
|
|
- sc = kzalloc(sizeof(lmc_softc_t), GFP_KERNEL);
|
|
|
- if (!sc) {
|
|
|
- err = -ENOMEM;
|
|
|
- goto err_kzalloc;
|
|
|
- }
|
|
|
+ sc = devm_kzalloc(&pdev->dev, sizeof(lmc_softc_t), GFP_KERNEL);
|
|
|
+ if (!sc)
|
|
|
+ return -ENOMEM;
|
|
|
|
|
|
dev = alloc_hdlcdev(sc);
|
|
|
if (!dev) {
|
|
|
printk(KERN_ERR "lmc:alloc_netdev for device failed\n");
|
|
|
- err = -ENOMEM;
|
|
|
- goto err_hdlcdev;
|
|
|
+ return -ENOMEM;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -888,7 +885,7 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
if (err) {
|
|
|
printk(KERN_ERR "%s: register_netdev failed.\n", dev->name);
|
|
|
free_netdev(dev);
|
|
|
- goto err_hdlcdev;
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
sc->lmc_cardtype = LMC_CARDTYPE_UNKNOWN;
|
|
@@ -971,14 +968,6 @@ static int lmc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
|
lmc_trace(dev, "lmc_init_one out");
|
|
|
return 0;
|
|
|
-
|
|
|
-err_hdlcdev:
|
|
|
- kfree(sc);
|
|
|
-err_kzalloc:
|
|
|
- pci_release_regions(pdev);
|
|
|
-err_req_io:
|
|
|
- pci_disable_device(pdev);
|
|
|
- return err;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -992,8 +981,6 @@ static void lmc_remove_one(struct pci_dev *pdev)
|
|
|
printk(KERN_DEBUG "%s: removing...\n", dev->name);
|
|
|
unregister_hdlc_device(dev);
|
|
|
free_netdev(dev);
|
|
|
- pci_release_regions(pdev);
|
|
|
- pci_disable_device(pdev);
|
|
|
}
|
|
|
}
|
|
|
|