On Thu, Mar 20, 2025 at 11:17:24AM +0800, hailong.fan wrote: > + > +void mt8196_sof_hifixdsp_shutdown(struct snd_sof_dev *sdev) > +{ > + /* set RUNSTALL to stop core */ > + snd_sof_dsp_update_bits(sdev, DSP_REG_BAR, ADSP_HIFI_RUNSTALL, > + RUNSTALL, RUNSTALL); > + > + /* assert core reset */ > + snd_sof_dsp_update_bits(sdev, DSP_REG_BAR, ADSP_CFGREG_SW_RSTN, > + SW_RSTN_C0 | SW_DBG_RSTN_C0, > + SW_RSTN_C0 | SW_DBG_RSTN_C0); > +} > + Drop stray blank line. > diff --git a/sound/soc/sof/mediatek/mt8196/mt8196.c b/sound/soc/sof/mediatek/mt8196/mt8196.c > new file mode 100644 > index 000000000000..364069ce9954 > --- /dev/null > +++ b/sound/soc/sof/mediatek/mt8196/mt8196.c > @@ -0,0 +1,650 @@ > +// SPDX-License-Identifier: GPL-2.0 Look here > +/* > + * Copyright (c) 2025 MediaTek Inc. > + * Author: Hailong Fan <hailong.fan@xxxxxxxxxxxx> > + */ ... > + > +static const struct of_device_id sof_of_mt8196_ids[] = { > + { .compatible = "mediatek,mt8196-dsp", .data = &sof_of_mt8196_desc}, Bindings are before users. > + { } > +}; > +MODULE_DEVICE_TABLE(of, sof_of_mt8196_ids); > + > +/* DT driver definition */ > +static struct platform_driver snd_sof_of_mt8196_driver = { > + .probe = sof_of_probe, > + .remove = sof_of_remove, > + .shutdown = sof_of_shutdown, > + .driver = { > + .name = "sof-audio-of-mt8196", > + .pm = &sof_of_pm, > + .of_match_table = sof_of_mt8196_ids, > + }, > +}; > +module_platform_driver(snd_sof_of_mt8196_driver); > + > +MODULE_LICENSE("Dual BSD/GPL"); And here Hm? Don't fake the licensing. > +MODULE_DESCRIPTION("SOF support for MT8196 platforms"); > +MODULE_IMPORT_NS("SND_SOC_SOF_XTENSA"); Is this correct? Best regards, Krzysztof