]> git.itanic.dy.fi Git - linux-stable/commitdiff
ASoC: Intel: cht_bsw_rt5645: Set card.components string
authorHans de Goede <hdegoede@redhat.com>
Sun, 26 Nov 2023 21:40:24 +0000 (22:40 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 21 Dec 2023 21:00:47 +0000 (21:00 +0000)
Set the card.components string using the new rt5645_components() helper
which returns a components string based on the DMI quirks inside the
rt5645 codec driver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://msgid.link/r/20231126214024.300505-8-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/cht_bsw_rt5645.c

index df23a581c10e54a43c8698ddc9bee23768e1786f..c952a96cde7ebe27ba6f61ed6d417d0f063d0e1e 100644 (file)
@@ -534,6 +534,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
        const char *platform_name;
        struct cht_mc_private *drv;
        struct acpi_device *adev;
+       struct device *codec_dev;
        bool sof_parent;
        bool found = false;
        bool is_bytcr = false;
@@ -583,7 +584,14 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
                         "i2c-%s", acpi_dev_name(adev));
                cht_dailink[dai_index].codecs->name = cht_rt5645_codec_name;
        }
+       /* acpi_get_first_physical_node() returns a borrowed ref, no need to deref */
+       codec_dev = acpi_get_first_physical_node(adev);
        acpi_dev_put(adev);
+       if (!codec_dev)
+               return -EPROBE_DEFER;
+
+       snd_soc_card_chtrt5645.components = rt5645_components(codec_dev);
+       snd_soc_card_chtrt5650.components = rt5645_components(codec_dev);
 
        /*
         * swap SSP0 if bytcr is detected