[media] si4713: use managed memory allocation

Introduce the usage of managed memory allocation 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>
This commit is contained in:
Sebastian Reichel 2014-10-21 12:07:02 -03:00 committed by Mauro Carvalho Chehab
parent fbe14a124c
commit 80cd5c7a4e

View file

@ -1449,7 +1449,7 @@ static int si4713_probe(struct i2c_client *client,
struct v4l2_ctrl_handler *hdl; struct v4l2_ctrl_handler *hdl;
int rval; int rval;
sdev = kzalloc(sizeof(*sdev), GFP_KERNEL); sdev = devm_kzalloc(&client->dev, sizeof(*sdev), GFP_KERNEL);
if (!sdev) { if (!sdev) {
dev_err(&client->dev, "Failed to alloc video device.\n"); dev_err(&client->dev, "Failed to alloc video device.\n");
rval = -ENOMEM; rval = -ENOMEM;
@ -1466,7 +1466,7 @@ static int si4713_probe(struct i2c_client *client,
} else { } else {
rval = PTR_ERR(sdev->gpio_reset); rval = PTR_ERR(sdev->gpio_reset);
dev_err(&client->dev, "Failed to request gpio: %d\n", rval); dev_err(&client->dev, "Failed to request gpio: %d\n", rval);
goto free_sdev; goto exit;
} }
sdev->vdd = devm_regulator_get_optional(&client->dev, "vdd"); sdev->vdd = devm_regulator_get_optional(&client->dev, "vdd");
@ -1614,8 +1614,6 @@ free_irq:
free_irq(client->irq, sdev); free_irq(client->irq, sdev);
free_ctrls: free_ctrls:
v4l2_ctrl_handler_free(hdl); v4l2_ctrl_handler_free(hdl);
free_sdev:
kfree(sdev);
exit: exit:
return rval; return rval;
} }
@ -1634,7 +1632,6 @@ static int si4713_remove(struct i2c_client *client)
v4l2_device_unregister_subdev(sd); v4l2_device_unregister_subdev(sd);
v4l2_ctrl_handler_free(sd->ctrl_handler); v4l2_ctrl_handler_free(sd->ctrl_handler);
kfree(sdev);
return 0; return 0;
} }