LinuxTV Patchwork [2/2] media: i2c: adv748x: Use devm to allocate the device struct

login
register
mail settings
Submitter Kieran Bingham
Date Jan. 11, 2019, 3:43 p.m.
Message ID <20190111154345.29145-2-kieran.bingham+renesas@ideasonboard.com>
Download mbox | patch
Permalink /patch/53872/
State Superseded
Headers show

Comments

Kieran Bingham - Jan. 11, 2019, 3:43 p.m.
From: Steve Longerbeam <steve_longerbeam@mentor.com>

Switch to devm_kzalloc() when allocating the adv748x device struct.

Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
---
 drivers/media/i2c/adv748x/adv748x-core.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
Kieran Bingham - Jan. 11, 2019, 4:08 p.m.
Hi Steve,

On 11/01/2019 15:43, Kieran Bingham wrote:
> From: Steve Longerbeam <steve_longerbeam@mentor.com>

Thank you for the patch, (which was forwarded to me from the BSP team)

> Switch to devm_kzalloc() when allocating the adv748x device struct.
> 
> Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
> ---
>  drivers/media/i2c/adv748x/adv748x-core.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c
> index 097e5c3a8e7e..4af2ae8fcc0a 100644
> --- a/drivers/media/i2c/adv748x/adv748x-core.c
> +++ b/drivers/media/i2c/adv748x/adv748x-core.c
> @@ -774,7 +774,8 @@ 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(struct adv748x_state),

I would instead use:

	state = devm_kzalloc(&client->dev, sizeof(*state));


I will submit a v2 with this change made.

--
Regards

Kieran


> +			     GFP_KERNEL);
>  	if (!state)
>  		return -ENOMEM;
>  
> @@ -861,7 +862,6 @@ static int adv748x_probe(struct i2c_client *client,
>  	adv748x_dt_cleanup(state);
>  err_free_mutex:
>  	mutex_destroy(&state->mutex);
> -	kfree(state);
>  
>  	return ret;
>  }
> @@ -880,8 +880,6 @@ static int adv748x_remove(struct i2c_client *client)
>  	adv748x_dt_cleanup(state);
>  	mutex_destroy(&state->mutex);
>  
> -	kfree(state);
> -
>  	return 0;
>  }
>  
>
Steve Longerbeam - Jan. 11, 2019, 6:23 p.m.
On 1/11/19 8:08 AM, Kieran Bingham wrote:
> Hi Steve,
>
> On 11/01/2019 15:43, Kieran Bingham wrote:
>> From: Steve Longerbeam <steve_longerbeam@mentor.com>
> Thank you for the patch, (which was forwarded to me from the BSP team)
>
>> Switch to devm_kzalloc() when allocating the adv748x device struct.
>>
>> Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
>> ---
>>   drivers/media/i2c/adv748x/adv748x-core.c | 6 ++----
>>   1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c
>> index 097e5c3a8e7e..4af2ae8fcc0a 100644
>> --- a/drivers/media/i2c/adv748x/adv748x-core.c
>> +++ b/drivers/media/i2c/adv748x/adv748x-core.c
>> @@ -774,7 +774,8 @@ 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(struct adv748x_state),
> I would instead use:
>
> 	state = devm_kzalloc(&client->dev, sizeof(*state));

Agreed!

>
> I will submit a v2 with this change made.

Thanks Kieran.

Steve

Patch

diff --git a/drivers/media/i2c/adv748x/adv748x-core.c b/drivers/media/i2c/adv748x/adv748x-core.c
index 097e5c3a8e7e..4af2ae8fcc0a 100644
--- a/drivers/media/i2c/adv748x/adv748x-core.c
+++ b/drivers/media/i2c/adv748x/adv748x-core.c
@@ -774,7 +774,8 @@  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(struct adv748x_state),
+			     GFP_KERNEL);
 	if (!state)
 		return -ENOMEM;
 
@@ -861,7 +862,6 @@  static int adv748x_probe(struct i2c_client *client,
 	adv748x_dt_cleanup(state);
 err_free_mutex:
 	mutex_destroy(&state->mutex);
-	kfree(state);
 
 	return ret;
 }
@@ -880,8 +880,6 @@  static int adv748x_remove(struct i2c_client *client)
 	adv748x_dt_cleanup(state);
 	mutex_destroy(&state->mutex);
 
-	kfree(state);
-
 	return 0;
 }
 

Privacy Policy