hwmon: (w83792d) Convert to use devm_ functions
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>
This commit is contained in:
Родитель
144d2b9985
Коммит
140849e105
|
@ -1422,11 +1422,9 @@ w83792d_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||||
struct device *dev = &client->dev;
|
struct device *dev = &client->dev;
|
||||||
int i, val1, err;
|
int i, val1, err;
|
||||||
|
|
||||||
data = kzalloc(sizeof(struct w83792d_data), GFP_KERNEL);
|
data = devm_kzalloc(dev, sizeof(struct w83792d_data), GFP_KERNEL);
|
||||||
if (!data) {
|
if (!data)
|
||||||
err = -ENOMEM;
|
return -ENOMEM;
|
||||||
goto ERROR0;
|
|
||||||
}
|
|
||||||
|
|
||||||
i2c_set_clientdata(client, data);
|
i2c_set_clientdata(client, data);
|
||||||
data->valid = 0;
|
data->valid = 0;
|
||||||
|
@ -1434,7 +1432,7 @@ w83792d_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||||
|
|
||||||
err = w83792d_detect_subclients(client);
|
err = w83792d_detect_subclients(client);
|
||||||
if (err)
|
if (err)
|
||||||
goto ERROR1;
|
return err;
|
||||||
|
|
||||||
/* Initialize the chip */
|
/* Initialize the chip */
|
||||||
w83792d_init_client(client);
|
w83792d_init_client(client);
|
||||||
|
@ -1448,7 +1446,7 @@ w83792d_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
||||||
/* Register sysfs hooks */
|
/* Register sysfs hooks */
|
||||||
err = sysfs_create_group(&dev->kobj, &w83792d_group);
|
err = sysfs_create_group(&dev->kobj, &w83792d_group);
|
||||||
if (err)
|
if (err)
|
||||||
goto ERROR3;
|
goto exit_i2c_unregister;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read GPIO enable register to check if pins for fan 4,5 are used as
|
* Read GPIO enable register to check if pins for fan 4,5 are used as
|
||||||
|
@ -1493,14 +1491,11 @@ exit_remove_files:
|
||||||
sysfs_remove_group(&dev->kobj, &w83792d_group);
|
sysfs_remove_group(&dev->kobj, &w83792d_group);
|
||||||
for (i = 0; i < ARRAY_SIZE(w83792d_group_fan); i++)
|
for (i = 0; i < ARRAY_SIZE(w83792d_group_fan); i++)
|
||||||
sysfs_remove_group(&dev->kobj, &w83792d_group_fan[i]);
|
sysfs_remove_group(&dev->kobj, &w83792d_group_fan[i]);
|
||||||
ERROR3:
|
exit_i2c_unregister:
|
||||||
if (data->lm75[0] != NULL)
|
if (data->lm75[0] != NULL)
|
||||||
i2c_unregister_device(data->lm75[0]);
|
i2c_unregister_device(data->lm75[0]);
|
||||||
if (data->lm75[1] != NULL)
|
if (data->lm75[1] != NULL)
|
||||||
i2c_unregister_device(data->lm75[1]);
|
i2c_unregister_device(data->lm75[1]);
|
||||||
ERROR1:
|
|
||||||
kfree(data);
|
|
||||||
ERROR0:
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1521,7 +1516,6 @@ w83792d_remove(struct i2c_client *client)
|
||||||
if (data->lm75[1] != NULL)
|
if (data->lm75[1] != NULL)
|
||||||
i2c_unregister_device(data->lm75[1]);
|
i2c_unregister_device(data->lm75[1]);
|
||||||
|
|
||||||
kfree(data);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче