|
@@ -174,11 +174,10 @@ static int ccp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|
if (!ccp)
|
|
if (!ccp)
|
|
goto e_err;
|
|
goto e_err;
|
|
|
|
|
|
- ccp_pci = kzalloc(sizeof(*ccp_pci), GFP_KERNEL);
|
|
|
|
- if (!ccp_pci) {
|
|
|
|
- ret = -ENOMEM;
|
|
|
|
- goto e_free1;
|
|
|
|
- }
|
|
|
|
|
|
+ ccp_pci = devm_kzalloc(dev, sizeof(*ccp_pci), GFP_KERNEL);
|
|
|
|
+ if (!ccp_pci)
|
|
|
|
+ goto e_err;
|
|
|
|
+
|
|
ccp->dev_specific = ccp_pci;
|
|
ccp->dev_specific = ccp_pci;
|
|
ccp->get_irq = ccp_get_irqs;
|
|
ccp->get_irq = ccp_get_irqs;
|
|
ccp->free_irq = ccp_free_irqs;
|
|
ccp->free_irq = ccp_free_irqs;
|
|
@@ -186,7 +185,7 @@ static int ccp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|
ret = pci_request_regions(pdev, "ccp");
|
|
ret = pci_request_regions(pdev, "ccp");
|
|
if (ret) {
|
|
if (ret) {
|
|
dev_err(dev, "pci_request_regions failed (%d)\n", ret);
|
|
dev_err(dev, "pci_request_regions failed (%d)\n", ret);
|
|
- goto e_free2;
|
|
|
|
|
|
+ goto e_err;
|
|
}
|
|
}
|
|
|
|
|
|
ret = pci_enable_device(pdev);
|
|
ret = pci_enable_device(pdev);
|
|
@@ -239,12 +238,6 @@ e_device:
|
|
e_regions:
|
|
e_regions:
|
|
pci_release_regions(pdev);
|
|
pci_release_regions(pdev);
|
|
|
|
|
|
-e_free2:
|
|
|
|
- kfree(ccp_pci);
|
|
|
|
-
|
|
|
|
-e_free1:
|
|
|
|
- kfree(ccp);
|
|
|
|
-
|
|
|
|
e_err:
|
|
e_err:
|
|
dev_notice(dev, "initialization failed\n");
|
|
dev_notice(dev, "initialization failed\n");
|
|
return ret;
|
|
return ret;
|
|
@@ -266,8 +259,6 @@ static void ccp_pci_remove(struct pci_dev *pdev)
|
|
|
|
|
|
pci_release_regions(pdev);
|
|
pci_release_regions(pdev);
|
|
|
|
|
|
- kfree(ccp);
|
|
|
|
-
|
|
|
|
dev_notice(dev, "disabled\n");
|
|
dev_notice(dev, "disabled\n");
|
|
}
|
|
}
|
|
|
|
|