
Signed-off-by: Axel Lin axel.lin@gmail.com --- sound/soc/codecs/ad1836.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/codecs/ad1836.c b/sound/soc/codecs/ad1836.c index 919322d..982d201 100644 --- a/sound/soc/codecs/ad1836.c +++ b/sound/soc/codecs/ad1836.c @@ -341,7 +341,8 @@ static int __devinit ad1836_spi_probe(struct spi_device *spi) struct ad1836_priv *ad1836; int ret;
- ad1836 = kzalloc(sizeof(struct ad1836_priv), GFP_KERNEL); + ad1836 = devm_kzalloc(&spi->dev, sizeof(struct ad1836_priv), + GFP_KERNEL); if (ad1836 == NULL) return -ENOMEM;
@@ -351,17 +352,15 @@ static int __devinit ad1836_spi_probe(struct spi_device *spi)
ret = snd_soc_register_codec(&spi->dev, &soc_codec_dev_ad1836, &ad183x_dais[ad1836->type], 1); - if (ret < 0) - kfree(ad1836); return ret; }
static int __devexit ad1836_spi_remove(struct spi_device *spi) { snd_soc_unregister_codec(&spi->dev); - kfree(spi_get_drvdata(spi)); return 0; } + static const struct spi_device_id ad1836_ids[] = { { "ad1835", AD1835 }, { "ad1836", AD1836 },