diff options
author | Sebastian Reichel <sre@kernel.org> | 2014-10-21 17:07:03 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2014-11-14 21:05:40 +0100 |
commit | c3a5baf452df03e3d571298c86d2ed8638c9d18d (patch) | |
tree | c33482d959ad21aaf2da0951bb8f661cefbdacb9 | |
parent | [media] si4713: use managed memory allocation (diff) | |
download | linux-c3a5baf452df03e3d571298c86d2ed8638c9d18d.tar.xz linux-c3a5baf452df03e3d571298c86d2ed8638c9d18d.zip |
[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>
-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, sdev->sd.ctrl_handler = hdl; if (client->irq) { - rval = request_irq(client->irq, + rval = devm_request_irq(&client->dev, client->irq, si4713_handler, IRQF_TRIGGER_FALLING, client->name, sdev); if (rval < 0) { @@ -1604,14 +1604,11 @@ static int si4713_probe(struct i2c_client *client, rval = si4713_initialize(sdev); if (rval < 0) { v4l2_err(&sdev->sd, "Failed to probe device information.\n"); - goto free_irq; + goto free_ctrls; } return 0; -free_irq: - if (client->irq) - free_irq(client->irq, sdev); free_ctrls: v4l2_ctrl_handler_free(hdl); exit: @@ -1627,9 +1624,6 @@ static int si4713_remove(struct i2c_client *client) if (sdev->power_state) si4713_set_power_state(sdev, POWER_DOWN); - if (client->irq > 0) - free_irq(client->irq, sdev); - v4l2_device_unregister_subdev(sd); v4l2_ctrl_handler_free(sd->ctrl_handler); |