From 441d43e578c53add29ac73ace195a96da9c336b1 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Sat, 2 Jun 2012 11:20:19 -0700 Subject: [PATCH] --- yaml --- r: 326179 b: refs/heads/master c: 79831fd4e0820bdc882d08707e4650ed4dfff3b8 h: refs/heads/master i: 326177: ac76a120a08be4584f3f3cabbe20ee9752ad98d7 326175: 75152c3e0cd0469c2005f69215933d800a3b1d29 v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/mcp3021.c | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 8d42e5adc144..8f10800339f8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: effb8ab114f7ed574f3c033dac642cd2c4ae0021 +refs/heads/master: 79831fd4e0820bdc882d08707e4650ed4dfff3b8 diff --git a/trunk/drivers/hwmon/mcp3021.c b/trunk/drivers/hwmon/mcp3021.c index d0afc0cd3ff4..5162bb95bc61 100644 --- a/trunk/drivers/hwmon/mcp3021.c +++ b/trunk/drivers/hwmon/mcp3021.c @@ -103,7 +103,8 @@ static int mcp3021_probe(struct i2c_client *client, if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) return -ENODEV; - data = kzalloc(sizeof(struct mcp3021_data), GFP_KERNEL); + data = devm_kzalloc(&client->dev, sizeof(struct mcp3021_data), + GFP_KERNEL); if (!data) return -ENOMEM; @@ -111,17 +112,14 @@ static int mcp3021_probe(struct i2c_client *client, if (client->dev.platform_data) { data->vdd = *(u32 *)client->dev.platform_data; - if (data->vdd > MCP3021_VDD_MAX || - data->vdd < MCP3021_VDD_MIN) { - err = -EINVAL; - goto exit_free; - } + if (data->vdd > MCP3021_VDD_MAX || data->vdd < MCP3021_VDD_MIN) + return -EINVAL; } else data->vdd = MCP3021_VDD_REF; err = sysfs_create_file(&client->dev.kobj, &dev_attr_in0_input.attr); if (err) - goto exit_free; + return err; data->hwmon_dev = hwmon_device_register(&client->dev); if (IS_ERR(data->hwmon_dev)) { @@ -133,8 +131,6 @@ static int mcp3021_probe(struct i2c_client *client, exit_remove: sysfs_remove_file(&client->dev.kobj, &dev_attr_in0_input.attr); -exit_free: - kfree(data); return err; } @@ -144,7 +140,6 @@ static int mcp3021_remove(struct i2c_client *client) hwmon_device_unregister(data->hwmon_dev); sysfs_remove_file(&client->dev.kobj, &dev_attr_in0_input.attr); - kfree(data); return 0; }