> -----Original Message----- > From: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > Sent: Wednesday, May 6, 2020 3:08 AM > To: Alex Deucher <alexdeucher@xxxxxxxxx>; alsa-devel@xxxxxxxxxxxxxxxx; > broonie@xxxxxxxxxx; Mukunda, Vijendar <Vijendar.Mukunda@xxxxxxx>; > tiwai@xxxxxxx > Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx> > Subject: Re: [PATCH 13/14] ASoC: amd: RN machine driver using dmic > > > > > +static int acp_probe(struct platform_device *pdev) > > +{ > > + int ret; > > + struct acp_pdm *machine = NULL; > > + struct snd_soc_card *card; > > + > > + card = &acp_card; > > + acp_card.dev = &pdev->dev; > > + > > + platform_set_drvdata(pdev, card); > > + snd_soc_card_set_drvdata(card, machine); > > + ret = devm_snd_soc_register_card(&pdev->dev, card); > > + if (ret) { > > + dev_err(&pdev->dev, > > + "snd_soc_register_card(%s) failed: %d\n", > > + acp_card.name, ret); > > + return ret; > > + } > > + if (ret) { > > + dev_err(&pdev->dev, > > + "snd_soc_register_card(%s) failed: %d\n", > > + acp_card.name, ret); > > + return ret; > > + } > > copy-paste mistake here, the same block appears twice? Will fix it and share updated patch. -Vijendar > > > + return 0; > > +} > > + > > +static struct platform_driver acp_mach_driver = { > > + .driver = { > > + .name = "acp_pdm_mach", > > + .pm = &snd_soc_pm_ops, > > + }, > > + .probe = acp_probe, > > +}; > > + > > +static int __init acp_audio_init(void) > > +{ > > + platform_driver_register(&acp_mach_driver); > > + return 0; > > +} > > + > > +static void __exit acp_audio_exit(void) > > +{ > > + platform_driver_unregister(&acp_mach_driver); > > +} > > + > > +module_init(acp_audio_init); > > +module_exit(acp_audio_exit); > > module_platform_driver(acp_mach_driver) does all this __init and __exit > for you. > > > + > > +MODULE_AUTHOR("Vijendar.Mukunda@xxxxxxx"); > > +MODULE_LICENSE("GPL v2"); > > +MODULE_ALIAS("platform:" DRV_NAME); > >