diff options
author | Mark Brown <broonie@linaro.org> | 2013-06-26 07:11:33 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-06-27 04:44:26 -0400 |
commit | ad3ae47b109358511a807a7859822890c59a06ec (patch) | |
tree | d627505771f4df5512b4bb66e07c774bf1d51d13 /sound | |
parent | 417ced8b93d16f6f90336fdf6929ed599e74f705 (diff) |
ASoC: nuc900-ac97: Convert to use devm_ APIs
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/nuc900/nuc900-ac97.c | 49 |
1 files changed, 13 insertions, 36 deletions
diff --git a/sound/soc/nuc900/nuc900-ac97.c b/sound/soc/nuc900/nuc900-ac97.c index fe3285ceaf5b..8dea4c1fd997 100644 --- a/sound/soc/nuc900/nuc900-ac97.c +++ b/sound/soc/nuc900/nuc900-ac97.c | |||
@@ -326,41 +326,32 @@ static int nuc900_ac97_drvprobe(struct platform_device *pdev) | |||
326 | if (nuc900_ac97_data) | 326 | if (nuc900_ac97_data) |
327 | return -EBUSY; | 327 | return -EBUSY; |
328 | 328 | ||
329 | nuc900_audio = kzalloc(sizeof(struct nuc900_audio), GFP_KERNEL); | 329 | nuc900_audio = devm_kzalloc(&pdev->dev, sizeof(struct nuc900_audio), |
330 | GFP_KERNEL); | ||
330 | if (!nuc900_audio) | 331 | if (!nuc900_audio) |
331 | return -ENOMEM; | 332 | return -ENOMEM; |
332 | 333 | ||
333 | spin_lock_init(&nuc900_audio->lock); | 334 | spin_lock_init(&nuc900_audio->lock); |
334 | 335 | ||
335 | nuc900_audio->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 336 | nuc900_audio->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
336 | if (!nuc900_audio->res) { | 337 | if (!nuc900_audio->res) |
337 | ret = -ENODEV; | 338 | return ret; |
338 | goto out0; | ||
339 | } | ||
340 | 339 | ||
341 | if (!request_mem_region(nuc900_audio->res->start, | 340 | nuc900_audio->mmio = devm_ioremap_resource(&pdev->dev, |
342 | resource_size(nuc900_audio->res), pdev->name)) { | 341 | nuc900_audio->res); |
343 | ret = -EBUSY; | 342 | if (IS_ERR(nuc900_audio->mmio)) |
344 | goto out0; | 343 | return PTR_ERR(nuc900_audio->mmio); |
345 | } | ||
346 | |||
347 | nuc900_audio->mmio = ioremap(nuc900_audio->res->start, | ||
348 | resource_size(nuc900_audio->res)); | ||
349 | if (!nuc900_audio->mmio) { | ||
350 | ret = -ENOMEM; | ||
351 | goto out1; | ||
352 | } | ||
353 | 344 | ||
354 | nuc900_audio->clk = clk_get(&pdev->dev, NULL); | 345 | nuc900_audio->clk = devm_clk_get(&pdev->dev, NULL); |
355 | if (IS_ERR(nuc900_audio->clk)) { | 346 | if (IS_ERR(nuc900_audio->clk)) { |
356 | ret = PTR_ERR(nuc900_audio->clk); | 347 | ret = PTR_ERR(nuc900_audio->clk); |
357 | goto out2; | 348 | goto out; |
358 | } | 349 | } |
359 | 350 | ||
360 | nuc900_audio->irq_num = platform_get_irq(pdev, 0); | 351 | nuc900_audio->irq_num = platform_get_irq(pdev, 0); |
361 | if (!nuc900_audio->irq_num) { | 352 | if (!nuc900_audio->irq_num) { |
362 | ret = -EBUSY; | 353 | ret = -EBUSY; |
363 | goto out3; | 354 | goto out; |
364 | } | 355 | } |
365 | 356 | ||
366 | nuc900_ac97_data = nuc900_audio; | 357 | nuc900_ac97_data = nuc900_audio; |
@@ -368,22 +359,14 @@ static int nuc900_ac97_drvprobe(struct platform_device *pdev) | |||
368 | ret = snd_soc_register_component(&pdev->dev, &nuc900_ac97_component, | 359 | ret = snd_soc_register_component(&pdev->dev, &nuc900_ac97_component, |
369 | &nuc900_ac97_dai, 1); | 360 | &nuc900_ac97_dai, 1); |
370 | if (ret) | 361 | if (ret) |
371 | goto out3; | 362 | goto out; |
372 | 363 | ||
373 | /* enbale ac97 multifunction pin */ | 364 | /* enbale ac97 multifunction pin */ |
374 | mfp_set_groupg(nuc900_audio->dev, NULL); | 365 | mfp_set_groupg(nuc900_audio->dev, NULL); |
375 | 366 | ||
376 | return 0; | 367 | return 0; |
377 | 368 | ||
378 | out3: | 369 | out: |
379 | clk_put(nuc900_audio->clk); | ||
380 | out2: | ||
381 | iounmap(nuc900_audio->mmio); | ||
382 | out1: | ||
383 | release_mem_region(nuc900_audio->res->start, | ||
384 | resource_size(nuc900_audio->res)); | ||
385 | out0: | ||
386 | kfree(nuc900_audio); | ||
387 | return ret; | 370 | return ret; |
388 | } | 371 | } |
389 | 372 | ||
@@ -391,12 +374,6 @@ static int nuc900_ac97_drvremove(struct platform_device *pdev) | |||
391 | { | 374 | { |
392 | snd_soc_unregister_component(&pdev->dev); | 375 | snd_soc_unregister_component(&pdev->dev); |
393 | 376 | ||
394 | clk_put(nuc900_ac97_data->clk); | ||
395 | iounmap(nuc900_ac97_data->mmio); | ||
396 | release_mem_region(nuc900_ac97_data->res->start, | ||
397 | resource_size(nuc900_ac97_data->res)); | ||
398 | |||
399 | kfree(nuc900_ac97_data); | ||
400 | nuc900_ac97_data = NULL; | 377 | nuc900_ac97_data = NULL; |
401 | 378 | ||
402 | return 0; | 379 | return 0; |