On 27/10/2023 17:28, Mario Limonciello wrote: > On 10/27/2023 03:49, Krzysztof Kozlowski wrote: >> On 21/10/2023 16:50, Syed Saba Kareem wrote: >>> add pdm use case machine driver support >>> >>> Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@xxxxxxx> >>> --- >> >> >>> dmi_id = dmi_first_match(acp_quirk_table); >>> if (dmi_id && dmi_id->driver_data) >>> @@ -214,6 +221,10 @@ static const struct platform_device_id board_ids[] = { >>> .name = "rmb-rt5682s-rt1019", >>> .driver_data = (kernel_ulong_t)&rt5682s_rt1019_rmb_data, >>> }, >>> + { >>> + .name = "acp-pdm-mach", >>> + .driver_data = (kernel_ulong_t)&acp_dmic_data, >>> + }, >>> { } >>> }; >>> static struct platform_driver acp_asoc_audio = { >>> @@ -235,4 +246,5 @@ MODULE_ALIAS("platform:acp3xalc5682s1019"); >>> MODULE_ALIAS("platform:acp3x-es83xx"); >>> MODULE_ALIAS("platform:rmb-nau8825-max"); >>> MODULE_ALIAS("platform:rmb-rt5682s-rt1019"); >>> +MODULE_ALIAS("platform:acp-pdm-mach"); >> >> Please stop growing the aliases. Module alias is not a substitute for >> missing MODULE_DEVICE_TABLE. >> >> Best regards, >> Krzysztof >> > > I thought the way that this works is that top level ACP driver (IE > acp-pci.c) will have MODULE_DEVICE_TABLE. This is how that module gets > loaded. > > Then it creates platform devices based on the detected needs for the > situation and the creation of those platform devices triggers a uevent > which due to MODULE_ALIAS will get appropriate other platform drivers > like this one loaded. And why you cannot use MODULE_DEVICE_TABLE here? IOW, why do you need to manually duplicate entire table and re-invent MODULE_DEVICE_TABLE with MODULE_ALIAS? Best regards, Krzysztof