On Sat, Jul 18, 2015 at 01:08:43PM +0800, Xing Zheng wrote: > + ret = devm_snd_soc_register_card(&pdev->dev, card); > + if (ret) { > + dev_err(&pdev->dev, > + "Soc register card failed %d\n", ret); > + return ret; > + } > + > + return ret; > +} > + > +static int snd_rk_mc_remove(struct platform_device *pdev) > +{ > + struct snd_soc_card *soc_card = platform_get_drvdata(pdev); > + > + snd_soc_unregister_card(soc_card); The point with using devm_snd_soc_register_card() is that you don't need to manually unregister the card - devm_ ensures that the card is freed.
Attachment:
signature.asc
Description: Digital signature