diff options
author | Sebastian Reichel <sre@kernel.org> | 2014-10-21 11:07:03 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2014-11-14 15:05:40 -0500 |
commit | c3a5baf452df03e3d571298c86d2ed8638c9d18d (patch) | |
tree | c33482d959ad21aaf2da0951bb8f661cefbdacb9 /drivers/media/radio | |
parent | 80cd5c7a4ed0561d52dbe71556f8b8ea5165d67b (diff) |
[media] si4713: use managed irq request
Introduce the usage of managed irq request to
simplify the code slightly.
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/radio')
-rw-r--r-- | drivers/media/radio/si4713/si4713.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/media/radio/si4713/si4713.c b/drivers/media/radio/si4713/si4713.c index afea1c311240..449f6cda2938 100644 --- a/drivers/media/radio/si4713/si4713.c +++ b/drivers/media/radio/si4713/si4713.c | |||
@@ -1589,7 +1589,7 @@ static int si4713_probe(struct i2c_client *client, | |||
1589 | sdev->sd.ctrl_handler = hdl; | 1589 | sdev->sd.ctrl_handler = hdl; |
1590 | 1590 | ||
1591 | if (client->irq) { | 1591 | if (client->irq) { |
1592 | rval = request_irq(client->irq, | 1592 | rval = devm_request_irq(&client->dev, client->irq, |
1593 | si4713_handler, IRQF_TRIGGER_FALLING, | 1593 | si4713_handler, IRQF_TRIGGER_FALLING, |
1594 | client->name, sdev); | 1594 | client->name, sdev); |
1595 | if (rval < 0) { | 1595 | if (rval < 0) { |
@@ -1604,14 +1604,11 @@ static int si4713_probe(struct i2c_client *client, | |||
1604 | rval = si4713_initialize(sdev); | 1604 | rval = si4713_initialize(sdev); |
1605 | if (rval < 0) { | 1605 | if (rval < 0) { |
1606 | v4l2_err(&sdev->sd, "Failed to probe device information.\n"); | 1606 | v4l2_err(&sdev->sd, "Failed to probe device information.\n"); |
1607 | goto free_irq; | 1607 | goto free_ctrls; |
1608 | } | 1608 | } |
1609 | 1609 | ||
1610 | return 0; | 1610 | return 0; |
1611 | 1611 | ||
1612 | free_irq: | ||
1613 | if (client->irq) | ||
1614 | free_irq(client->irq, sdev); | ||
1615 | free_ctrls: | 1612 | free_ctrls: |
1616 | v4l2_ctrl_handler_free(hdl); | 1613 | v4l2_ctrl_handler_free(hdl); |
1617 | exit: | 1614 | exit: |
@@ -1627,9 +1624,6 @@ static int si4713_remove(struct i2c_client *client) | |||
1627 | if (sdev->power_state) | 1624 | if (sdev->power_state) |
1628 | si4713_set_power_state(sdev, POWER_DOWN); | 1625 | si4713_set_power_state(sdev, POWER_DOWN); |
1629 | 1626 | ||
1630 | if (client->irq > 0) | ||
1631 | free_irq(client->irq, sdev); | ||
1632 | |||
1633 | v4l2_device_unregister_subdev(sd); | 1627 | v4l2_device_unregister_subdev(sd); |
1634 | v4l2_ctrl_handler_free(sd->ctrl_handler); | 1628 | v4l2_ctrl_handler_free(sd->ctrl_handler); |
1635 | 1629 | ||