ASoC: Intel: cht_bsw_rt5645: Cleanup codec_name handling
4 fixes / cleanups to the rt5645 mc driver's codec_name handling: 1. In the for loop looking for the dai_index for the codec, replace card->dai_link[i] with cht_dailink[i]. The for loop already uses ARRAY_SIZE(cht_dailink) as bound and card->dai_link is just a pointer to cht_dailink using card->dai_link only obfuscates that cht_dailink is being modified directly rather then say a copy of cht_dailink. Using cht_dailink[i] also makes the code consistent with other machine drivers. 2. Don't set cht_dailink[dai_index].codecs->name in the for loop, this immediately gets overridden using acpi_dev_name(adev) directly below the loop. 3. Add a missing break to the loop. 4. Remove the now no longer used (only set, never read) codec_name field from struct cht_mc_private. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20240210134400.24913-3-hdegoede@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
7d99a70b65
commit
930375d34d
@ -40,7 +40,6 @@ struct cht_acpi_card {
|
||||
struct cht_mc_private {
|
||||
struct snd_soc_jack jack;
|
||||
struct cht_acpi_card *acpi_card;
|
||||
char codec_name[SND_ACPI_I2C_ID_LEN];
|
||||
struct clk *mclk;
|
||||
};
|
||||
|
||||
@ -567,15 +566,14 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
card->dev = &pdev->dev;
|
||||
sprintf(drv->codec_name, "i2c-%s:00", drv->acpi_card->codec_id);
|
||||
|
||||
/* set correct codec name */
|
||||
for (i = 0; i < ARRAY_SIZE(cht_dailink); i++)
|
||||
if (card->dai_link[i].codecs->name &&
|
||||
!strcmp(card->dai_link[i].codecs->name,
|
||||
if (cht_dailink[i].codecs->name &&
|
||||
!strcmp(cht_dailink[i].codecs->name,
|
||||
"i2c-10EC5645:00")) {
|
||||
card->dai_link[i].codecs->name = drv->codec_name;
|
||||
dai_index = i;
|
||||
break;
|
||||
}
|
||||
|
||||
/* fixup codec name based on HID */
|
||||
|
Loading…
Reference in New Issue
Block a user