Messages in this thread | | | Date | Fri, 27 Oct 2023 10:54:47 -0500 | Subject | Re: [PATCH 09/13] ASoC: amd: acp: add machine driver support for pdm use case | From | Mario Limonciello <> |
| |
On 10/27/2023 10:51, Krzysztof Kozlowski wrote: > 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@amd.com> >>>> --- >>> >>> >>>> 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?
What would actually go into MODULE_DEVICE_TABLE?
The platform devices created are contingent upon what was found during the top level ACP driver probe. You don't want all the "child" platform drivers to load unless they're needed.
| |