diff options
-rw-r--r-- | sound/soc/bcm/cygnus-ssp.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/sound/soc/bcm/cygnus-ssp.c b/sound/soc/bcm/cygnus-ssp.c index b733f1446353..b7c358b48d8d 100644 --- a/sound/soc/bcm/cygnus-ssp.c +++ b/sound/soc/bcm/cygnus-ssp.c | |||
@@ -1334,7 +1334,7 @@ static int cygnus_ssp_probe(struct platform_device *pdev) | |||
1334 | cygaud->active_ports = 0; | 1334 | cygaud->active_ports = 0; |
1335 | 1335 | ||
1336 | dev_dbg(dev, "Registering %d DAIs\n", active_port_count); | 1336 | dev_dbg(dev, "Registering %d DAIs\n", active_port_count); |
1337 | err = snd_soc_register_component(dev, &cygnus_ssp_component, | 1337 | err = devm_snd_soc_register_component(dev, &cygnus_ssp_component, |
1338 | cygnus_ssp_dai, active_port_count); | 1338 | cygnus_ssp_dai, active_port_count); |
1339 | if (err) { | 1339 | if (err) { |
1340 | dev_err(dev, "snd_soc_register_dai failed\n"); | 1340 | dev_err(dev, "snd_soc_register_dai failed\n"); |
@@ -1345,32 +1345,27 @@ static int cygnus_ssp_probe(struct platform_device *pdev) | |||
1345 | if (cygaud->irq_num <= 0) { | 1345 | if (cygaud->irq_num <= 0) { |
1346 | dev_err(dev, "platform_get_irq failed\n"); | 1346 | dev_err(dev, "platform_get_irq failed\n"); |
1347 | err = cygaud->irq_num; | 1347 | err = cygaud->irq_num; |
1348 | goto err_irq; | 1348 | return err; |
1349 | } | 1349 | } |
1350 | 1350 | ||
1351 | err = audio_clk_init(pdev, cygaud); | 1351 | err = audio_clk_init(pdev, cygaud); |
1352 | if (err) { | 1352 | if (err) { |
1353 | dev_err(dev, "audio clock initialization failed\n"); | 1353 | dev_err(dev, "audio clock initialization failed\n"); |
1354 | goto err_irq; | 1354 | return err; |
1355 | } | 1355 | } |
1356 | 1356 | ||
1357 | err = cygnus_soc_platform_register(dev, cygaud); | 1357 | err = cygnus_soc_platform_register(dev, cygaud); |
1358 | if (err) { | 1358 | if (err) { |
1359 | dev_err(dev, "platform reg error %d\n", err); | 1359 | dev_err(dev, "platform reg error %d\n", err); |
1360 | goto err_irq; | 1360 | return err; |
1361 | } | 1361 | } |
1362 | 1362 | ||
1363 | return 0; | 1363 | return 0; |
1364 | |||
1365 | err_irq: | ||
1366 | snd_soc_unregister_component(dev); | ||
1367 | return err; | ||
1368 | } | 1364 | } |
1369 | 1365 | ||
1370 | static int cygnus_ssp_remove(struct platform_device *pdev) | 1366 | static int cygnus_ssp_remove(struct platform_device *pdev) |
1371 | { | 1367 | { |
1372 | cygnus_soc_platform_unregister(&pdev->dev); | 1368 | cygnus_soc_platform_unregister(&pdev->dev); |
1373 | snd_soc_unregister_component(&pdev->dev); | ||
1374 | 1369 | ||
1375 | return 0; | 1370 | return 0; |
1376 | } | 1371 | } |