diff options
author | Mark Brown | 2011-12-08 16:45:22 +0800 |
---|---|---|
committer | Mark Brown | 2011-12-09 20:28:15 +0800 |
commit | bf97ca9a0dabd6110a6aa7b4d1b20274973810af (patch) | |
tree | 5276190917e4144f41788cbec498ccb55ee9e4ee | |
parent | 2610ab7767bba916f65094d71cfed3b8281cba08 (diff) |
ASoC: Convert WM8776 to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r-- | sound/soc/codecs/wm8776.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/sound/soc/codecs/wm8776.c b/sound/soc/codecs/wm8776.c index fbf80c5220d0..38b455662195 100644 --- a/sound/soc/codecs/wm8776.c +++ b/sound/soc/codecs/wm8776.c @@ -452,7 +452,8 @@ static int __devinit wm8776_spi_probe(struct spi_device *spi) struct wm8776_priv *wm8776; int ret; - wm8776 = kzalloc(sizeof(struct wm8776_priv), GFP_KERNEL); + wm8776 = devm_kzalloc(&spi->dev, sizeof(struct wm8776_priv), + GFP_KERNEL); if (wm8776 == NULL) return -ENOMEM; @@ -461,15 +462,13 @@ static int __devinit wm8776_spi_probe(struct spi_device *spi) ret = snd_soc_register_codec(&spi->dev, &soc_codec_dev_wm8776, wm8776_dai, ARRAY_SIZE(wm8776_dai)); - if (ret < 0) - kfree(wm8776); + return ret; } static int __devexit wm8776_spi_remove(struct spi_device *spi) { snd_soc_unregister_codec(&spi->dev); - kfree(spi_get_drvdata(spi)); return 0; } @@ -491,7 +490,8 @@ static __devinit int wm8776_i2c_probe(struct i2c_client *i2c, struct wm8776_priv *wm8776; int ret; - wm8776 = kzalloc(sizeof(struct wm8776_priv), GFP_KERNEL); + wm8776 = devm_kzalloc(&i2c->dev, sizeof(struct wm8776_priv), + GFP_KERNEL); if (wm8776 == NULL) return -ENOMEM; @@ -500,15 +500,13 @@ static __devinit int wm8776_i2c_probe(struct i2c_client *i2c, ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_wm8776, wm8776_dai, ARRAY_SIZE(wm8776_dai)); - if (ret < 0) - kfree(wm8776); + return ret; } static __devexit int wm8776_i2c_remove(struct i2c_client *client) { snd_soc_unregister_codec(&client->dev); - kfree(i2c_get_clientdata(client)); return 0; } |