Re: [PATCH v3 2/5] ASoC: qcom: sm8250: set card driver name from match data

From: Srinivas Kandagatla
Date: Fri May 02 2025 - 07:07:01 EST


On 5/1/25 15:13, Luca Weiss wrote:
> Hi Srini,
>
> Srinivas Kandagatla <srini@xxxxxxxxxx> schreef op 1 mei 2025 13:37:45 CEST:
>> On Fri, Apr 25, 2025 at 10:07:26AM +0200, Luca Weiss wrote:
>>> Sound machine drivers for Qualcomm SoCs can be reused across multiple
>>> SoCs. But user space ALSA UCM files depend on the card driver name which
>>> should be set per board/SoC.
>>>
>>> Allow such customization by using driver match data as sound card driver
>>> name.
>>>
>>> Also while we're already touching these lines, sort the compatibles
>>> alphabetically.
>>>
>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
>>> Reviewed-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
>>> Signed-off-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx>
>>> ---
>>> sound/soc/qcom/sm8250.c | 9 ++++-----
>>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/sound/soc/qcom/sm8250.c b/sound/soc/qcom/sm8250.c
>>> index b70b2a5031dfbf69024666f8a1049c263efcde0a..e920b413b762c803cfcc4049f35deba828275478 100644
>>> --- a/sound/soc/qcom/sm8250.c
>>> +++ b/sound/soc/qcom/sm8250.c
>>> @@ -16,7 +16,6 @@
>>> #include "usb_offload_utils.h"
>>> #include "sdw.h"
>>>
>>> -#define DRIVER_NAME "sm8250"
>>> #define MI2S_BCLK_RATE 1536000
>>>
>>> struct sm8250_snd_data {
>>> @@ -200,15 +199,15 @@ static int sm8250_platform_probe(struct platform_device *pdev)
>>> if (ret)
>>> return ret;
>>>
>>> - card->driver_name = DRIVER_NAME;
>>> + card->driver_name = of_device_get_match_data(dev);
>>> sm8250_add_be_ops(card);
>>> return devm_snd_soc_register_card(dev, card);
>>> }
>>>
>>> static const struct of_device_id snd_sm8250_dt_match[] = {
>>> - {.compatible = "qcom,sm8250-sndcard"},
>>> - {.compatible = "qcom,qrb4210-rb2-sndcard"},
>>> - {.compatible = "qcom,qrb5165-rb5-sndcard"},
>>> + { .compatible = "qcom,qrb4210-rb2-sndcard", .data = "sm8250" },
>>
>> sm4250 for rb2?
>
> Since this name is visible to user space and used for picking the UCM config, I don't think it's a good idea to change it.
>
It is not correct to pretend that rb2 is sm8250 for ucm cases, I agree previous code was
already doing this, Good thing is that we do not have a ucm written yet for RB2.

Lets fix this as you are already doing this for other compatibles.

--srini

> Regards
> Luca
>
>>
>>> + { .compatible = "qcom,qrb5165-rb5-sndcard", .data = "sm8250" },
>>> + { .compatible = "qcom,sm8250-sndcard", .data = "sm8250" },
>>> {}
>>> };
>>>
>>>
>>> --
>>> 2.49.0
>>>