Skip to contentSkip to conversation

saa6752hs: Convert to devm_kzalloc()

PATCH In review Axel Lin 2 participants 2 messages Aug 10, 2014 Media (V4L/DVB)

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 saa6752hs: Convert to devm_kzalloc()

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

---
 drivers/media/i2c/saa6752hs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/media/i2c/saa6752hs.c +3 -3
index 04e9e55..4024ea6 100644
@@ -660,7 +660,7 @@ static const struct v4l2_subdev_ops saa6752hs_ops = {
 static int saa6752hs_probe(struct i2c_client *client,
 		const struct i2c_device_id *id)
 {
-	struct saa6752hs_state *h = kzalloc(sizeof(*h), GFP_KERNEL);
+	struct saa6752hs_state *h;
 	struct v4l2_subdev *sd;
 	struct v4l2_ctrl_handler *hdl;
 	u8 addr = 0x13;
@@ -668,6 +668,8 @@ static int saa6752hs_probe(struct i2c_client *client,
 
 	v4l_info(client, "chip found @ 0x%x (%s)\n",
 			client->addr << 1, client->adapter->name);
+
+	h = devm_kzalloc(&client->dev, sizeof(*h), GFP_KERNEL);
 	if (h == NULL)
 		return -ENOMEM;
 	sd = &h->sd;
@@ -752,7 +754,6 @@ static int saa6752hs_probe(struct i2c_client *client,
 		int err = hdl->error;
 
 		v4l2_ctrl_handler_free(hdl);
-		kfree(h);
 		return err;
 	}
 	v4l2_ctrl_cluster(3, &h->video_bitrate_mode);
@@ -767,7 +768,6 @@ static int saa6752hs_remove(struct i2c_client *client)
 
 	v4l2_device_unregister_subdev(sd);
 	v4l2_ctrl_handler_free(&to_state(sd)->hdl);
-	kfree(to_state(sd));
 	return 0;
 }
 
Signature · 1 line
1.9.1
Acked-by on v1 1/1
#1 lore raw
Quoted 4 lines · Axel Lin

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

Thanks,
--Prabhakar Lad

Quoted 47 lines
---
 drivers/media/i2c/saa6752hs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/media/i2c/saa6752hs.c +3 -4
index 04e9e55..4024ea6 100644
@@ -660,7 +660,7 @@ static const struct v4l2_subdev_ops saa6752hs_ops = {
 static int saa6752hs_probe(struct i2c_client *client,
                const struct i2c_device_id *id)
 {
-       struct saa6752hs_state *h = kzalloc(sizeof(*h), GFP_KERNEL);
+       struct saa6752hs_state *h;
        struct v4l2_subdev *sd;
        struct v4l2_ctrl_handler *hdl;
        u8 addr = 0x13;
@@ -668,6 +668,8 @@ static int saa6752hs_probe(struct i2c_client *client,
 
        v4l_info(client, "chip found @ 0x%x (%s)\n",
                        client->addr << 1, client->adapter->name);
+
+       h = devm_kzalloc(&client->dev, sizeof(*h), GFP_KERNEL);
        if (h == NULL)
                return -ENOMEM;
        sd = &h->sd;
@@ -752,7 +754,6 @@ static int saa6752hs_probe(struct i2c_client *client,
                int err = hdl->error;
 
                v4l2_ctrl_handler_free(hdl);
-               kfree(h);
                return err;
        }
        v4l2_ctrl_cluster(3, &h->video_bitrate_mode);
@@ -767,7 +768,6 @@ static int saa6752hs_remove(struct i2c_client *client)
 
        v4l2_device_unregister_subdev(sd);
        v4l2_ctrl_handler_free(&to_state(sd)->hdl);
-       kfree(to_state(sd));
        return 0;
 }
 
--

1.9.1