Re: [PATCH 09/13] ASoC: amd: acp: add machine driver support for pdm use case

From: Krzysztof Kozlowski
Date: Fri Oct 27 2023 - 11:51:27 EST


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