Re: [PATCH 10/39] hwmon: (ads7871) Convert to use devm_ functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue,  7 Aug 2012 08:19:59 -0700, Guenter Roeck wrote:
> Convert to use devm_ functions to reduce code size and simplify the code.
> 
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
>  drivers/hwmon/ads7871.c |   21 +++++++--------------
>  1 file changed, 7 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/hwmon/ads7871.c b/drivers/hwmon/ads7871.c
> index e65c6e4..e837707 100644
> --- a/drivers/hwmon/ads7871.c
> +++ b/drivers/hwmon/ads7871.c
> @@ -189,20 +189,17 @@ static int __devinit ads7871_probe(struct spi_device *spi)
>  	 * because there is no other error checking on an SPI bus
>  	 * we need to make sure we really have a chip
>  	 */
> -	if (val != ret) {
> -		err = -ENODEV;
> -		goto exit;
> -	}
> +	if (val != ret)
> +		return -ENODEV;
>  
> -	pdata = kzalloc(sizeof(struct ads7871_data), GFP_KERNEL);
> -	if (!pdata) {
> -		err = -ENOMEM;
> -		goto exit;
> -	}
> +	pdata = devm_kzalloc(&spi->dev, sizeof(struct ads7871_data),
> +			     GFP_KERNEL);
> +	if (!pdata)
> +		return -ENOMEM;
>  
>  	err = sysfs_create_group(&spi->dev.kobj, &ads7871_group);
>  	if (err < 0)
> -		goto error_free;
> +		return err;
>  
>  	spi_set_drvdata(spi, pdata);
>  
> @@ -216,9 +213,6 @@ static int __devinit ads7871_probe(struct spi_device *spi)
>  
>  error_remove:
>  	sysfs_remove_group(&spi->dev.kobj, &ads7871_group);
> -error_free:
> -	kfree(pdata);
> -exit:
>  	return err;
>  }

At this point it becomes dubious to use a separate error path. You have
a single label and you use it only once, so there is no practical
benefit.

>  
> @@ -228,7 +222,6 @@ static int __devexit ads7871_remove(struct spi_device *spi)
>  
>  	hwmon_device_unregister(pdata->hwmon_dev);
>  	sysfs_remove_group(&spi->dev.kobj, &ads7871_group);
> -	kfree(pdata);
>  	return 0;
>  }
>  

Functionally the change is correct, so:

Acked-by: Jean Delvare <khali@xxxxxxxxxxxx>

-- 
Jean Delvare

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux