diff options
| -rw-r--r-- | sound/soc/codecs/ak4104.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sound/soc/codecs/ak4104.c b/sound/soc/codecs/ak4104.c index 152420ca78b8..d27b5e4cce99 100644 --- a/sound/soc/codecs/ak4104.c +++ b/sound/soc/codecs/ak4104.c | |||
| @@ -261,7 +261,8 @@ static int ak4104_spi_probe(struct spi_device *spi) | |||
| 261 | if (ret < 0) | 261 | if (ret < 0) |
| 262 | return ret; | 262 | return ret; |
| 263 | 263 | ||
| 264 | ak4104 = kzalloc(sizeof(struct ak4104_private), GFP_KERNEL); | 264 | ak4104 = devm_kzalloc(&spi->dev, sizeof(struct ak4104_private), |
| 265 | GFP_KERNEL); | ||
| 265 | if (ak4104 == NULL) | 266 | if (ak4104 == NULL) |
| 266 | return -ENOMEM; | 267 | return -ENOMEM; |
| 267 | 268 | ||
| @@ -271,15 +272,12 @@ static int ak4104_spi_probe(struct spi_device *spi) | |||
| 271 | 272 | ||
| 272 | ret = snd_soc_register_codec(&spi->dev, | 273 | ret = snd_soc_register_codec(&spi->dev, |
| 273 | &soc_codec_device_ak4104, &ak4104_dai, 1); | 274 | &soc_codec_device_ak4104, &ak4104_dai, 1); |
| 274 | if (ret < 0) | ||
| 275 | kfree(ak4104); | ||
| 276 | return ret; | 275 | return ret; |
| 277 | } | 276 | } |
| 278 | 277 | ||
| 279 | static int __devexit ak4104_spi_remove(struct spi_device *spi) | 278 | static int __devexit ak4104_spi_remove(struct spi_device *spi) |
| 280 | { | 279 | { |
| 281 | snd_soc_unregister_codec(&spi->dev); | 280 | snd_soc_unregister_codec(&spi->dev); |
| 282 | kfree(spi_get_drvdata(spi)); | ||
| 283 | return 0; | 281 | return 0; |
| 284 | } | 282 | } |
| 285 | 283 | ||
