Unverified Commit 930375d3 authored by Hans de Goede's avatar Hans de Goede Committed by Mark Brown
Browse files

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: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240210134400.24913-3-hdegoede@redhat.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 7d99a70b
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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 */