Commit 80cd5c7a authored by Sebastian Reichel's avatar Sebastian Reichel Committed by Mauro Carvalho Chehab

[media] si4713: use managed memory allocation

Introduce the usage of managed memory allocation to
simplify the code slightly.
Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent fbe14a12
...@@ -1449,7 +1449,7 @@ static int si4713_probe(struct i2c_client *client, ...@@ -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, ...@@ -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 @@ static int si4713_probe(struct i2c_client *client, ...@@ -1614,8 +1614,6 @@ static int si4713_probe(struct i2c_client *client,
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) ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment