Commit 2fa33494 authored by Mark Brown's avatar Mark Brown

mfd: Convert wm8994 to devm_kzalloc()

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent cf763c2e
...@@ -401,9 +401,9 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) ...@@ -401,9 +401,9 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq)
goto err_regmap; goto err_regmap;
} }
wm8994->supplies = kzalloc(sizeof(struct regulator_bulk_data) * wm8994->supplies = devm_kzalloc(wm8994->dev,
wm8994->num_supplies, sizeof(struct regulator_bulk_data) *
GFP_KERNEL); wm8994->num_supplies, GFP_KERNEL);
if (!wm8994->supplies) { if (!wm8994->supplies) {
ret = -ENOMEM; ret = -ENOMEM;
goto err_regmap; goto err_regmap;
...@@ -431,7 +431,7 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) ...@@ -431,7 +431,7 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq)
wm8994->supplies); wm8994->supplies);
if (ret != 0) { if (ret != 0) {
dev_err(wm8994->dev, "Failed to get supplies: %d\n", ret); dev_err(wm8994->dev, "Failed to get supplies: %d\n", ret);
goto err_supplies; goto err_regmap;
} }
ret = regulator_bulk_enable(wm8994->num_supplies, ret = regulator_bulk_enable(wm8994->num_supplies,
...@@ -559,12 +559,9 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq) ...@@ -559,12 +559,9 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq)
wm8994->supplies); wm8994->supplies);
err_get: err_get:
regulator_bulk_free(wm8994->num_supplies, wm8994->supplies); regulator_bulk_free(wm8994->num_supplies, wm8994->supplies);
err_supplies:
kfree(wm8994->supplies);
err_regmap: err_regmap:
regmap_exit(wm8994->regmap); regmap_exit(wm8994->regmap);
mfd_remove_devices(wm8994->dev); mfd_remove_devices(wm8994->dev);
kfree(wm8994);
return ret; return ret;
} }
...@@ -576,9 +573,7 @@ static void wm8994_device_exit(struct wm8994 *wm8994) ...@@ -576,9 +573,7 @@ static void wm8994_device_exit(struct wm8994 *wm8994)
regulator_bulk_disable(wm8994->num_supplies, regulator_bulk_disable(wm8994->num_supplies,
wm8994->supplies); wm8994->supplies);
regulator_bulk_free(wm8994->num_supplies, wm8994->supplies); regulator_bulk_free(wm8994->num_supplies, wm8994->supplies);
kfree(wm8994->supplies);
regmap_exit(wm8994->regmap); regmap_exit(wm8994->regmap);
kfree(wm8994);
} }
static const struct of_device_id wm8994_of_match[] = { static const struct of_device_id wm8994_of_match[] = {
...@@ -595,7 +590,7 @@ static int wm8994_i2c_probe(struct i2c_client *i2c, ...@@ -595,7 +590,7 @@ static int wm8994_i2c_probe(struct i2c_client *i2c,
struct wm8994 *wm8994; struct wm8994 *wm8994;
int ret; int ret;
wm8994 = kzalloc(sizeof(struct wm8994), GFP_KERNEL); wm8994 = devm_kzalloc(&i2c->dev, sizeof(struct wm8994), GFP_KERNEL);
if (wm8994 == NULL) if (wm8994 == NULL)
return -ENOMEM; return -ENOMEM;
...@@ -609,7 +604,6 @@ static int wm8994_i2c_probe(struct i2c_client *i2c, ...@@ -609,7 +604,6 @@ static int wm8994_i2c_probe(struct i2c_client *i2c,
ret = PTR_ERR(wm8994->regmap); ret = PTR_ERR(wm8994->regmap);
dev_err(wm8994->dev, "Failed to allocate register map: %d\n", dev_err(wm8994->dev, "Failed to allocate register map: %d\n",
ret); ret);
kfree(wm8994);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment