Commit 3eced21a authored by Amitoj Kaur Chawla's avatar Amitoj Kaur Chawla Committed by Greg Kroah-Hartman

staging: most: hdm-dim2: Replace request_irq with devm_request_irq

Devm_ functions allocate memory that is released when a driver
detaches. Replace request_irq with devm_request_irq to get the
interrupt for device which is automatically freed on exit. Remove
corresponding free_irq from probe and remove functions of a platform
device.

Also, remove an unnecessary label.
Signed-off-by: default avatarAmitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bab469cd
...@@ -758,7 +758,8 @@ static int dim2_probe(struct platform_device *pdev) ...@@ -758,7 +758,8 @@ static int dim2_probe(struct platform_device *pdev)
} }
dev->irq_ahb0 = ret; dev->irq_ahb0 = ret;
ret = request_irq(dev->irq_ahb0, dim2_ahb_isr, 0, "mlb_ahb0", dev); ret = devm_request_irq(&pdev->dev, dev->irq_ahb0, dim2_ahb_isr, 0,
"mlb_ahb0", dev);
if (ret) { if (ret) {
pr_err("failed to request IRQ: %d, err: %d\n", pr_err("failed to request IRQ: %d, err: %d\n",
dev->irq_ahb0, ret); dev->irq_ahb0, ret);
...@@ -769,10 +770,8 @@ static int dim2_probe(struct platform_device *pdev) ...@@ -769,10 +770,8 @@ static int dim2_probe(struct platform_device *pdev)
dev->deliver_netinfo = 0; dev->deliver_netinfo = 0;
dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void *)dev, dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void *)dev,
"dim2_netinfo"); "dim2_netinfo");
if (IS_ERR(dev->netinfo_task)) { if (IS_ERR(dev->netinfo_task))
ret = PTR_ERR(dev->netinfo_task); ret = PTR_ERR(dev->netinfo_task);
goto err_free_irq;
}
for (i = 0; i < DMA_CHANNELS; i++) { for (i = 0; i < DMA_CHANNELS; i++) {
struct most_channel_capability *cap = dev->capabilities + i; struct most_channel_capability *cap = dev->capabilities + i;
...@@ -840,10 +839,6 @@ static int dim2_probe(struct platform_device *pdev) ...@@ -840,10 +839,6 @@ static int dim2_probe(struct platform_device *pdev)
most_deregister_interface(&dev->most_iface); most_deregister_interface(&dev->most_iface);
err_stop_thread: err_stop_thread:
kthread_stop(dev->netinfo_task); kthread_stop(dev->netinfo_task);
err_free_irq:
#if !defined(ENABLE_HDM_TEST)
free_irq(dev->irq_ahb0, dev);
#endif
return ret; return ret;
} }
...@@ -870,9 +865,6 @@ static int dim2_remove(struct platform_device *pdev) ...@@ -870,9 +865,6 @@ static int dim2_remove(struct platform_device *pdev)
dim2_sysfs_destroy(&dev->bus); dim2_sysfs_destroy(&dev->bus);
most_deregister_interface(&dev->most_iface); most_deregister_interface(&dev->most_iface);
kthread_stop(dev->netinfo_task); kthread_stop(dev->netinfo_task);
#if !defined(ENABLE_HDM_TEST)
free_irq(dev->irq_ahb0, dev);
#endif
/* /*
* break link to local platform_device_id struct * break link to local platform_device_id struct
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment