mfd: 88pm860x: Drop devm_kfree of devm_kzalloc'd data
authorJingoo Han <jg1.han@samsung.com>
Wed, 20 Feb 2013 09:27:21 +0000 (18:27 +0900)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 8 Apr 2013 15:25:18 +0000 (17:25 +0200)
devm_kfree() allocates memory that is released when a driver detaches.
Thus, there is no reason to explicitly call devm_kfree() in probe or remove
functions.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/88pm860x-core.c

index 893fc1b..31ca555 100644 (file)
@@ -1144,17 +1144,15 @@ static int pm860x_probe(struct i2c_client *client,
                        return -ENOMEM;
                ret = pm860x_dt_init(node, &client->dev, pdata);
                if (ret)
-                       goto err;
+                       return ret;
        } else if (!pdata) {
                pr_info("No platform data in %s!\n", __func__);
                return -EINVAL;
        }
 
        chip = kzalloc(sizeof(struct pm860x_chip), GFP_KERNEL);
-       if (chip == NULL) {
-               ret = -ENOMEM;
-               goto err;
-       }
+       if (chip == NULL)
+               return -ENOMEM;
 
        chip->id = verify_addr(client);
        chip->regmap = regmap_init_i2c(client, &pm860x_regmap_config);
@@ -1194,10 +1192,6 @@ static int pm860x_probe(struct i2c_client *client,
 
        pm860x_device_init(chip, pdata);
        return 0;
-err:
-       if (node)
-               devm_kfree(&client->dev, pdata);
-       return ret;
 }
 
 static int pm860x_remove(struct i2c_client *client)