On 30/10/2023 12:50, Amadeusz Sławiński wrote:
On 10/28/2023 10:46 AM, Krzysztof Kozlowski wrote:
On 27/10/2023 13:05, Amadeusz Sławiński wrote:
To support AVS-rt5514 configuration add machine board connecting AVS platform component driver with rt5514 codec one.
Signed-off-by: Amadeusz Sławiński amadeuszx.slawinski@linux.intel.com
sound/soc/intel/avs/boards/Kconfig | 10 ++ sound/soc/intel/avs/boards/Makefile | 2 + sound/soc/intel/avs/boards/rt5514.c | 187 ++++++++++++++++++++++++++++ 3 files changed, 199 insertions(+) create mode 100644 sound/soc/intel/avs/boards/rt5514.c
...
+static struct platform_driver avs_rt5514_driver = {
- .probe = avs_rt5514_probe,
- .driver = {
.name = "avs_rt5514",
.pm = &snd_soc_pm_ops,
- },
+};
+module_platform_driver(avs_rt5514_driver);
+MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:avs_rt5514");
You should not need MODULE_ALIAS() in normal cases. If you need it, usually it means your device ID table is wrong.
In theory yes, in practice it is a bit more complicated, as we use the driver alias in sound/soc/intel/avs/board_selection.c in snd_soc_acpi_mach and they should match.
For example for rt286, there is: # modinfo /lib/modules/6.4.0-rc3+/kernel/sound/soc/intel/avs/boards/snd-soc-avs-rt286.ko | grep 286 filename: /lib/modules/6.4.0-rc3+/kernel/sound/soc/intel/avs/boards/snd-soc-avs-rt286.ko alias: platform:avs_rt286 name: snd_soc_avs_rt286 as you can see platform_driver::driver::name is not matching the driver name.
I've did quick test with removing alias and changing snd_soc_acpi_mach definition for one board and it didn't load.
Sorry, but why do you talk about platform name? We talk about ID table!
Now that you pointed it out I also lean towards trying to remove MODULE_ALIAS() from board drivers, but it will probably require some more investigation if we really want to do it and implementing it properly.
Ehm? We have been there. I've been dropping these useless aliases as well. You miss DEVICE_TABLE and proper ID entries, not adding aliases.
Best regards, Krzysztof