diff options
author | Alexander Aring <alex.aring@gmail.com> | 2014-04-24 19:09:08 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-04-26 12:20:33 -0400 |
commit | 652355c5bd9430d7c382579f2bcd223bc47dd7e7 (patch) | |
tree | 28b2e03290dc7b33261c64a3501569f3b966939f /drivers/net/ieee802154 | |
parent | 8eba0eefae2495396206799a208c5270e203b5c6 (diff) |
at86rf230: use devm_request_irq
This patch replace request_irq with devm_request_irq. With
devm_request_irq we don't need to care about freeing the irq.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ieee802154')
-rw-r--r-- | drivers/net/ieee802154/at86rf230.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c index e1d3af60c53b..5856488ebd61 100644 --- a/drivers/net/ieee802154/at86rf230.c +++ b/drivers/net/ieee802154/at86rf230.c @@ -1190,24 +1190,22 @@ static int at86rf230_probe(struct spi_device *spi) if (rc) goto err_hw_init; - rc = request_irq(spi->irq, irq_handler, IRQF_SHARED, - dev_name(&spi->dev), lp); + rc = devm_request_irq(&spi->dev, spi->irq, irq_handler, IRQF_SHARED, + dev_name(&spi->dev), lp); if (rc) goto err_hw_init; /* Read irq status register to reset irq line */ rc = at86rf230_read_subreg(lp, RG_IRQ_STATUS, 0xff, 0, &status); if (rc) - goto err_irq; + goto err_hw_init; rc = ieee802154_register_device(lp->dev); if (rc) - goto err_irq; + goto err_hw_init; return rc; -err_irq: - free_irq(spi->irq, lp); err_hw_init: flush_work(&lp->irqwork); spi_set_drvdata(spi, NULL); @@ -1232,7 +1230,6 @@ static int at86rf230_remove(struct spi_device *spi) at86rf230_write_subreg(lp, SR_IRQ_MASK, 0); ieee802154_unregister_device(lp->dev); - free_irq(spi->irq, lp); flush_work(&lp->irqwork); if (gpio_is_valid(pdata->slp_tr)) |