From: Guenter Roeck Date: Sat, 2 Jun 2012 16:57:57 +0000 (-0700) Subject: hwmon: (ad7314) Convert to use devm_ functions X-Git-Tag: next-20120917~87^2~53 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e89c24cecf13bce9ba9e9c34e6e8a70df678eda7;p=karo-tx-linux.git hwmon: (ad7314) Convert to use devm_ functions Convert to use devm_ functions to reduce code size and simplify the code. Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/ad7314.c b/drivers/hwmon/ad7314.c index cfec802cf9ca..455294f89eac 100644 --- a/drivers/hwmon/ad7314.c +++ b/drivers/hwmon/ad7314.c @@ -104,16 +104,16 @@ static int __devinit ad7314_probe(struct spi_device *spi_dev) int ret; struct ad7314_data *chip; - chip = kzalloc(sizeof(*chip), GFP_KERNEL); - if (chip == NULL) { - ret = -ENOMEM; - goto error_ret; - } + chip = devm_kzalloc(&spi_dev->dev, sizeof(*chip), GFP_KERNEL); + if (chip == NULL) + return -ENOMEM; + dev_set_drvdata(&spi_dev->dev, chip); ret = sysfs_create_group(&spi_dev->dev.kobj, &ad7314_group); if (ret < 0) - goto error_free_chip; + return ret; + chip->hwmon_dev = hwmon_device_register(&spi_dev->dev); if (IS_ERR(chip->hwmon_dev)) { ret = PTR_ERR(chip->hwmon_dev); @@ -124,9 +124,6 @@ static int __devinit ad7314_probe(struct spi_device *spi_dev) return 0; error_remove_group: sysfs_remove_group(&spi_dev->dev.kobj, &ad7314_group); -error_free_chip: - kfree(chip); -error_ret: return ret; } @@ -136,7 +133,6 @@ static int __devexit ad7314_remove(struct spi_device *spi_dev) hwmon_device_unregister(chip->hwmon_dev); sysfs_remove_group(&spi_dev->dev.kobj, &ad7314_group); - kfree(chip); return 0; }