unsigned int reg;
int ret, i;
- wm8962 = kzalloc(sizeof(struct wm8962_priv), GFP_KERNEL);
+ wm8962 = devm_kzalloc(&i2c->dev, sizeof(struct wm8962_priv),
+ GFP_KERNEL);
if (wm8962 == NULL)
return -ENOMEM;
wm8962->supplies);
if (ret != 0) {
dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
- goto err_alloc;
+ goto err;
}
ret = regulator_bulk_enable(ARRAY_SIZE(wm8962->supplies),
regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
err_get:
regulator_bulk_free(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
-err_alloc:
- kfree(wm8962);
+err:
return ret;
}
snd_soc_unregister_codec(&client->dev);
regmap_exit(wm8962->regmap);
regulator_bulk_free(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
- kfree(i2c_get_clientdata(client));
return 0;
}