>>> +static int snd_rk_mc_remove(struct platform_device *pdev) >>> +{ >>> + struct snd_soc_card *soc_card = platform_get_drvdata(pdev); >>> + >>> + snd_soc_card_set_drvdata(soc_card, NULL); >>> + snd_soc_unregister_card(soc_card); >>> + platform_set_drvdata(pdev, NULL); >> No need for any of the _set_drvdata() calls, the core does them and they >> shouldn't make any difference anyway. > Done. I will remove *_set_drvdata and *get_drvdata because we don't > need them any more. > Sorry, I mean just remove platform_set_drvdata(pdev, NULL);