mfd: 88pm860x: Convert to managed resources for allocating memory
[cascardo/linux.git] / drivers / mfd / 88pm860x-core.c
index 629d640..eeb481d 100644 (file)
@@ -1150,7 +1150,8 @@ static int pm860x_probe(struct i2c_client *client,
                return -EINVAL;
        }
 
-       chip = kzalloc(sizeof(struct pm860x_chip), GFP_KERNEL);
+       chip = devm_kzalloc(&client->dev,
+                           sizeof(struct pm860x_chip), GFP_KERNEL);
        if (chip == NULL)
                return -ENOMEM;
 
@@ -1160,7 +1161,6 @@ static int pm860x_probe(struct i2c_client *client,
                ret = PTR_ERR(chip->regmap);
                dev_err(&client->dev, "Failed to allocate register map: %d\n",
                                ret);
-               kfree(chip);
                return ret;
        }
        chip->client = client;
@@ -1203,7 +1203,6 @@ static int pm860x_remove(struct i2c_client *client)
                regmap_exit(chip->regmap_companion);
                i2c_unregister_device(chip->companion);
        }
-       kfree(chip);
        return 0;
 }