hwmon: (adm1025) Convert to use devm_ functions

Convert to use devm_ functions to reduce code size and simplify the code.

Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
Guenter Roeck 2012-06-02 09:57:58 -07:00
parent 61d4d17ea9
commit 6702c9981e

View file

@ -477,11 +477,10 @@ static int adm1025_probe(struct i2c_client *client,
int err; int err;
u8 config; u8 config;
data = kzalloc(sizeof(struct adm1025_data), GFP_KERNEL); data = devm_kzalloc(&client->dev, sizeof(struct adm1025_data),
if (!data) { GFP_KERNEL);
err = -ENOMEM; if (!data)
goto exit; return -ENOMEM;
}
i2c_set_clientdata(client, data); i2c_set_clientdata(client, data);
mutex_init(&data->update_lock); mutex_init(&data->update_lock);
@ -492,7 +491,7 @@ static int adm1025_probe(struct i2c_client *client,
/* Register sysfs hooks */ /* Register sysfs hooks */
err = sysfs_create_group(&client->dev.kobj, &adm1025_group); err = sysfs_create_group(&client->dev.kobj, &adm1025_group);
if (err) if (err)
goto exit_free; return err;
/* Pin 11 is either in4 (+12V) or VID4 */ /* Pin 11 is either in4 (+12V) or VID4 */
config = i2c_smbus_read_byte_data(client, ADM1025_REG_CONFIG); config = i2c_smbus_read_byte_data(client, ADM1025_REG_CONFIG);
@ -513,9 +512,6 @@ static int adm1025_probe(struct i2c_client *client,
exit_remove: exit_remove:
sysfs_remove_group(&client->dev.kobj, &adm1025_group); sysfs_remove_group(&client->dev.kobj, &adm1025_group);
sysfs_remove_group(&client->dev.kobj, &adm1025_group_in4); sysfs_remove_group(&client->dev.kobj, &adm1025_group_in4);
exit_free:
kfree(data);
exit:
return err; return err;
} }
@ -569,7 +565,6 @@ static int adm1025_remove(struct i2c_client *client)
sysfs_remove_group(&client->dev.kobj, &adm1025_group); sysfs_remove_group(&client->dev.kobj, &adm1025_group);
sysfs_remove_group(&client->dev.kobj, &adm1025_group_in4); sysfs_remove_group(&client->dev.kobj, &adm1025_group_in4);
kfree(data);
return 0; return 0;
} }