Using the managed function the free_irq() calls can be removed from the
probe error path and the remove handler.

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Acked-by: Sylwester Nawrocki <s.nawro...@samsung.com>
---
 drivers/media/i2c/m5mols/m5mols_core.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/media/i2c/m5mols/m5mols_core.c 
b/drivers/media/i2c/m5mols/m5mols_core.c
index 11f6f87..8d870b7 100644
--- a/drivers/media/i2c/m5mols/m5mols_core.c
+++ b/drivers/media/i2c/m5mols/m5mols_core.c
@@ -988,11 +988,11 @@ static int m5mols_probe(struct i2c_client *client,
        init_waitqueue_head(&info->irq_waitq);
        mutex_init(&info->lock);
 
-       ret = request_irq(client->irq, m5mols_irq_handler,
-                         IRQF_TRIGGER_RISING, MODULE_NAME, sd);
+       ret = devm_request_irq(&client->dev, client->irq, m5mols_irq_handler,
+                              IRQF_TRIGGER_RISING, MODULE_NAME, sd);
        if (ret) {
                dev_err(&client->dev, "Interrupt request failed: %d\n", ret);
-               goto out_me;
+               goto error;
        }
        info->res_type = M5MOLS_RESTYPE_MONITOR;
        info->ffmt[0] = m5mols_default_ffmt[0];
@@ -1000,7 +1000,7 @@ static int m5mols_probe(struct i2c_client *client,
 
        ret = m5mols_sensor_power(info, true);
        if (ret)
-               goto out_irq;
+               goto error;
 
        ret = m5mols_fw_start(sd);
        if (!ret)
@@ -1009,9 +1009,7 @@ static int m5mols_probe(struct i2c_client *client,
        ret = m5mols_sensor_power(info, false);
        if (!ret)
                return 0;
-out_irq:
-       free_irq(client->irq, sd);
-out_me:
+error:
        media_entity_cleanup(&sd->entity);
        return ret;
 }
@@ -1022,8 +1020,6 @@ static int m5mols_remove(struct i2c_client *client)
 
        v4l2_device_unregister_subdev(sd);
        v4l2_ctrl_handler_free(sd->ctrl_handler);
-       free_irq(client->irq, sd);
-
        media_entity_cleanup(&sd->entity);
 
        return 0;
-- 
1.8.1.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to