media: i2c: adv748x: Use devm to allocate the device struct
authorSteve Longerbeam <steve_longerbeam@mentor.com>
Fri, 11 Jan 2019 16:17:03 +0000 (14:17 -0200)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 21 Jan 2019 17:44:23 +0000 (15:44 -0200)
Switch to devm_kzalloc() when allocating the adv748x device struct.

The sizeof() is updated to determine the correct allocation size from
the dereferenced pointer type rather than hardcoding the struct type.

[Kieran: Change sizeof() to dereference the pointer type]

Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/i2c/adv748x/adv748x-core.c

index d94c63c..bd8a8c8 100644 (file)
@@ -631,7 +631,7 @@ static int adv748x_probe(struct i2c_client *client,
        if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
                return -EIO;
 
-       state = kzalloc(sizeof(struct adv748x_state), GFP_KERNEL);
+       state = devm_kzalloc(&client->dev, sizeof(*state), GFP_KERNEL);
        if (!state)
                return -ENOMEM;
 
@@ -729,7 +729,6 @@ err_cleanup_dt:
        adv748x_dt_cleanup(state);
 err_free_mutex:
        mutex_destroy(&state->mutex);
-       kfree(state);
 
        return ret;
 }
@@ -748,8 +747,6 @@ static int adv748x_remove(struct i2c_client *client)
        adv748x_dt_cleanup(state);
        mutex_destroy(&state->mutex);
 
-       kfree(state);
-
        return 0;
 }