diff options
Diffstat (limited to 'sound/soc/samsung')
-rw-r--r-- | sound/soc/samsung/neo1973_gta02_wm8753.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sound/soc/samsung/neo1973_gta02_wm8753.c b/sound/soc/samsung/neo1973_gta02_wm8753.c index 8c65b6334f51..3eec610c10f9 100644 --- a/sound/soc/samsung/neo1973_gta02_wm8753.c +++ b/sound/soc/samsung/neo1973_gta02_wm8753.c | |||
@@ -439,24 +439,20 @@ static int __init neo1973_gta02_init(void) | |||
439 | 439 | ||
440 | /* register bluetooth DAI here */ | 440 | /* register bluetooth DAI here */ |
441 | ret = snd_soc_register_dai(&neo1973_gta02_snd_device->dev, &bt_dai); | 441 | ret = snd_soc_register_dai(&neo1973_gta02_snd_device->dev, &bt_dai); |
442 | if (ret) { | 442 | if (ret) |
443 | platform_device_put(neo1973_gta02_snd_device); | 443 | goto err_put_device; |
444 | return ret; | ||
445 | } | ||
446 | 444 | ||
447 | platform_set_drvdata(neo1973_gta02_snd_device, &neo1973_gta02); | 445 | platform_set_drvdata(neo1973_gta02_snd_device, &neo1973_gta02); |
448 | ret = platform_device_add(neo1973_gta02_snd_device); | 446 | ret = platform_device_add(neo1973_gta02_snd_device); |
449 | 447 | ||
450 | if (ret) { | 448 | if (ret) |
451 | platform_device_put(neo1973_gta02_snd_device); | 449 | goto err_unregister_dai; |
452 | return ret; | ||
453 | } | ||
454 | 450 | ||
455 | /* Initialise GPIOs used by amp */ | 451 | /* Initialise GPIOs used by amp */ |
456 | ret = gpio_request(GTA02_GPIO_HP_IN, "GTA02_HP_IN"); | 452 | ret = gpio_request(GTA02_GPIO_HP_IN, "GTA02_HP_IN"); |
457 | if (ret) { | 453 | if (ret) { |
458 | pr_err("gta02_wm8753: Failed to register GPIO %d\n", GTA02_GPIO_HP_IN); | 454 | pr_err("gta02_wm8753: Failed to register GPIO %d\n", GTA02_GPIO_HP_IN); |
459 | goto err_unregister_device; | 455 | goto err_del_device; |
460 | } | 456 | } |
461 | 457 | ||
462 | ret = gpio_direction_output(GTA02_GPIO_HP_IN, 1); | 458 | ret = gpio_direction_output(GTA02_GPIO_HP_IN, 1); |
@@ -483,8 +479,12 @@ err_free_gpio_amp_shut: | |||
483 | gpio_free(GTA02_GPIO_AMP_SHUT); | 479 | gpio_free(GTA02_GPIO_AMP_SHUT); |
484 | err_free_gpio_hp_in: | 480 | err_free_gpio_hp_in: |
485 | gpio_free(GTA02_GPIO_HP_IN); | 481 | gpio_free(GTA02_GPIO_HP_IN); |
486 | err_unregister_device: | 482 | err_del_device: |
487 | platform_device_unregister(neo1973_gta02_snd_device); | 483 | platform_device_del(neo1973_gta02_snd_device); |
484 | err_unregister_dai: | ||
485 | snd_soc_unregister_dai(&neo1973_gta02_snd_device->dev); | ||
486 | err_put_device: | ||
487 | platform_device_put(neo1973_gta02_snd_device); | ||
488 | return ret; | 488 | return ret; |
489 | } | 489 | } |
490 | module_init(neo1973_gta02_init); | 490 | module_init(neo1973_gta02_init); |