diff options
Diffstat (limited to 'drivers/hwmon/lm87.c')
| -rw-r--r-- | drivers/hwmon/lm87.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/hwmon/lm87.c b/drivers/hwmon/lm87.c index 314d147bf1a..ba1d83d4805 100644 --- a/drivers/hwmon/lm87.c +++ b/drivers/hwmon/lm87.c @@ -5,7 +5,7 @@ * Philip Edelbrock <phil@netroedge.com> * Stephen Rousset <stephen.rousset@rocketlogix.com> * Dan Eaton <dan.eaton@rocketlogix.com> - * Copyright (C) 2004-2008 Jean Delvare <khali@linux-fr.org> + * Copyright (C) 2004-2008 Jean Delvare <jdelvare@suse.de> * * Original port to Linux 2.6 by Jeff Oliver. * @@ -855,8 +855,8 @@ static void lm87_init_client(struct i2c_client *client) { struct lm87_data *data = i2c_get_clientdata(client); - if (client->dev.platform_data) { - data->channel = *(u8 *)client->dev.platform_data; + if (dev_get_platdata(&client->dev)) { + data->channel = *(u8 *)dev_get_platdata(&client->dev); lm87_write_value(client, LM87_REG_CHANNEL_MODE, data->channel); } else { @@ -898,14 +898,11 @@ static int lm87_probe(struct i2c_client *client, const struct i2c_device_id *id) struct lm87_data *data; int err; - data = kzalloc(sizeof(struct lm87_data), GFP_KERNEL); - if (!data) { - err = -ENOMEM; - goto exit; - } + data = devm_kzalloc(&client->dev, sizeof(struct lm87_data), GFP_KERNEL); + if (!data) + return -ENOMEM; i2c_set_clientdata(client, data); - data->valid = 0; mutex_init(&data->update_lock); /* Initialize the LM87 chip */ @@ -923,7 +920,7 @@ static int lm87_probe(struct i2c_client *client, const struct i2c_device_id *id) /* Register sysfs hooks */ err = sysfs_create_group(&client->dev.kobj, &lm87_group); if (err) - goto exit_free; + goto exit_stop; if (data->channel & CHAN_NO_FAN(0)) { err = sysfs_create_group(&client->dev.kobj, &lm87_group_in6); @@ -972,10 +969,8 @@ static int lm87_probe(struct i2c_client *client, const struct i2c_device_id *id) exit_remove: lm87_remove_files(client); -exit_free: +exit_stop: lm87_write_value(client, LM87_REG_CONFIG, data->config); - kfree(data); -exit: return err; } @@ -987,7 +982,6 @@ static int lm87_remove(struct i2c_client *client) lm87_remove_files(client); lm87_write_value(client, LM87_REG_CONFIG, data->config); - kfree(data); return 0; } @@ -1016,6 +1010,6 @@ static struct i2c_driver lm87_driver = { module_i2c_driver(lm87_driver); -MODULE_AUTHOR("Jean Delvare <khali@linux-fr.org> and others"); +MODULE_AUTHOR("Jean Delvare <jdelvare@suse.de> and others"); MODULE_DESCRIPTION("LM87 driver"); MODULE_LICENSE("GPL"); |
