hwmon: (tmp102) Convert to use devm_ functions
authorGuenter Roeck <linux@roeck-us.net>
Sat, 2 Jun 2012 18:35:52 +0000 (11:35 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 22 Jul 2012 04:48:42 +0000 (21:48 -0700)
Convert to use devm_ functions to reduce code size and simplify the code.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
drivers/hwmon/tmp102.c

index 0d466b9..4e1ff82 100644 (file)
@@ -159,17 +159,16 @@ static int __devinit tmp102_probe(struct i2c_client *client,
                return -ENODEV;
        }
 
-       tmp102 = kzalloc(sizeof(*tmp102), GFP_KERNEL);
-       if (!tmp102) {
-               dev_dbg(&client->dev, "kzalloc failed\n");
+       tmp102 = devm_kzalloc(&client->dev, sizeof(*tmp102), GFP_KERNEL);
+       if (!tmp102)
                return -ENOMEM;
-       }
+
        i2c_set_clientdata(client, tmp102);
 
        status = i2c_smbus_read_word_swapped(client, TMP102_CONF_REG);
        if (status < 0) {
                dev_err(&client->dev, "error reading config register\n");
-               goto fail_free;
+               return status;
        }
        tmp102->config_orig = status;
        status = i2c_smbus_write_word_swapped(client, TMP102_CONF_REG,
@@ -213,9 +212,6 @@ fail_remove_sysfs:
 fail_restore_config:
        i2c_smbus_write_word_swapped(client, TMP102_CONF_REG,
                                     tmp102->config_orig);
-fail_free:
-       kfree(tmp102);
-
        return status;
 }
 
@@ -236,8 +232,6 @@ static int __devexit tmp102_remove(struct i2c_client *client)
                                                     config | TMP102_CONF_SD);
        }
 
-       kfree(tmp102);
-
        return 0;
 }