mirror of https://gitee.com/openkylin/linux.git
[media] media: i2c: Convert to devm_regulator_bulk_get()
Using the managed function the regulator_bulk_put() calls can be removed from the probe error path and the remove handler. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
b015ba29ca
commit
07e0e5b287
|
@ -966,7 +966,8 @@ static int m5mols_probe(struct i2c_client *client,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = regulator_bulk_get(&client->dev, ARRAY_SIZE(supplies), supplies);
|
ret = devm_regulator_bulk_get(&client->dev, ARRAY_SIZE(supplies),
|
||||||
|
supplies);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&client->dev, "Failed to get regulators: %d\n", ret);
|
dev_err(&client->dev, "Failed to get regulators: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -981,7 +982,7 @@ static int m5mols_probe(struct i2c_client *client,
|
||||||
info->pad.flags = MEDIA_PAD_FL_SOURCE;
|
info->pad.flags = MEDIA_PAD_FL_SOURCE;
|
||||||
ret = media_entity_init(&sd->entity, 1, &info->pad, 0);
|
ret = media_entity_init(&sd->entity, 1, &info->pad, 0);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto out_reg;
|
return ret;
|
||||||
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
||||||
|
|
||||||
init_waitqueue_head(&info->irq_waitq);
|
init_waitqueue_head(&info->irq_waitq);
|
||||||
|
@ -1012,8 +1013,6 @@ static int m5mols_probe(struct i2c_client *client,
|
||||||
free_irq(client->irq, sd);
|
free_irq(client->irq, sd);
|
||||||
out_me:
|
out_me:
|
||||||
media_entity_cleanup(&sd->entity);
|
media_entity_cleanup(&sd->entity);
|
||||||
out_reg:
|
|
||||||
regulator_bulk_free(ARRAY_SIZE(supplies), supplies);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1025,7 +1024,6 @@ static int m5mols_remove(struct i2c_client *client)
|
||||||
v4l2_ctrl_handler_free(sd->ctrl_handler);
|
v4l2_ctrl_handler_free(sd->ctrl_handler);
|
||||||
free_irq(client->irq, sd);
|
free_irq(client->irq, sd);
|
||||||
|
|
||||||
regulator_bulk_free(ARRAY_SIZE(supplies), supplies);
|
|
||||||
media_entity_cleanup(&sd->entity);
|
media_entity_cleanup(&sd->entity);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -772,7 +772,7 @@ static int noon010_probe(struct i2c_client *client,
|
||||||
for (i = 0; i < NOON010_NUM_SUPPLIES; i++)
|
for (i = 0; i < NOON010_NUM_SUPPLIES; i++)
|
||||||
info->supply[i].supply = noon010_supply_name[i];
|
info->supply[i].supply = noon010_supply_name[i];
|
||||||
|
|
||||||
ret = regulator_bulk_get(&client->dev, NOON010_NUM_SUPPLIES,
|
ret = devm_regulator_bulk_get(&client->dev, NOON010_NUM_SUPPLIES,
|
||||||
info->supply);
|
info->supply);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto np_err;
|
goto np_err;
|
||||||
|
@ -781,14 +781,12 @@ static int noon010_probe(struct i2c_client *client,
|
||||||
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_SENSOR;
|
||||||
ret = media_entity_init(&sd->entity, 1, &info->pad, 0);
|
ret = media_entity_init(&sd->entity, 1, &info->pad, 0);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto np_me_err;
|
goto np_err;
|
||||||
|
|
||||||
ret = noon010_detect(client, info);
|
ret = noon010_detect(client, info);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
np_me_err:
|
|
||||||
regulator_bulk_free(NOON010_NUM_SUPPLIES, info->supply);
|
|
||||||
np_err:
|
np_err:
|
||||||
v4l2_ctrl_handler_free(&info->hdl);
|
v4l2_ctrl_handler_free(&info->hdl);
|
||||||
v4l2_device_unregister_subdev(sd);
|
v4l2_device_unregister_subdev(sd);
|
||||||
|
@ -802,8 +800,6 @@ static int noon010_remove(struct i2c_client *client)
|
||||||
|
|
||||||
v4l2_device_unregister_subdev(sd);
|
v4l2_device_unregister_subdev(sd);
|
||||||
v4l2_ctrl_handler_free(&info->hdl);
|
v4l2_ctrl_handler_free(&info->hdl);
|
||||||
|
|
||||||
regulator_bulk_free(NOON010_NUM_SUPPLIES, info->supply);
|
|
||||||
media_entity_cleanup(&sd->entity);
|
media_entity_cleanup(&sd->entity);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue