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. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20150718/e389a870/attachment.sig>