Skip to content

Commit 369fd7b

Browse files
Keith Buschbjorn-helgaas
authored andcommitted
PCI/AER: Use managed resource allocations
Use the managed device resource allocations for the service data so the AER driver doesn't need to manage it, further simplifying this driver. Link: https://lore.kernel.org/linux-pci/20180918235848.26694-12-keith.busch@intel.com Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
1 parent 6200cc5 commit 369fd7b

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

drivers/pci/pcie/aer.c

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,11 +1367,7 @@ static void aer_remove(struct pcie_device *dev)
13671367
{
13681368
struct aer_rpc *rpc = get_service_data(dev);
13691369

1370-
if (rpc) {
1371-
aer_disable_rootport(rpc);
1372-
kfree(rpc);
1373-
set_service_data(dev, NULL);
1374-
}
1370+
aer_disable_rootport(rpc);
13751371
}
13761372

13771373
/**
@@ -1384,24 +1380,21 @@ static int aer_probe(struct pcie_device *dev)
13841380
{
13851381
int status;
13861382
struct aer_rpc *rpc;
1387-
struct device *device = &dev->port->dev;
1383+
struct device *device = &dev->device;
13881384

1389-
/* Alloc rpc data structure */
1390-
rpc = kzalloc(sizeof(struct aer_rpc), GFP_KERNEL);
1385+
rpc = devm_kzalloc(device, sizeof(struct aer_rpc), GFP_KERNEL);
13911386
if (!rpc) {
13921387
dev_printk(KERN_DEBUG, device, "alloc AER rpc failed\n");
13931388
return -ENOMEM;
13941389
}
13951390
rpc->rpd = dev->port;
13961391
set_service_data(dev, rpc);
13971392

1398-
/* Request IRQ ISR */
1399-
status = request_threaded_irq(dev->irq, aer_irq, aer_isr,
1400-
IRQF_SHARED, "aerdrv", dev);
1393+
status = devm_request_threaded_irq(device, dev->irq, aer_irq, aer_isr,
1394+
IRQF_SHARED, "aerdrv", dev);
14011395
if (status) {
14021396
dev_printk(KERN_DEBUG, device, "request AER IRQ %d failed\n",
14031397
dev->irq);
1404-
aer_remove(dev);
14051398
return status;
14061399
}
14071400

0 commit comments

Comments
 (0)