]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: sdw_utils: remove dai registered check
authorBard Liao <yung-chuan.liao@linux.intel.com>
Tue, 20 Jan 2026 06:56:58 +0000 (14:56 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 20 Jan 2026 12:17:32 +0000 (12:17 +0000)
Checking for a registered DAI for non-existing endpoints causes the
following error. The driver will always return -EPROBE_DEFER if the
codec driver doesn't register the DAI of the unexist endpoint.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood@intel.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260120065658.1806027-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdw_utils/soc_sdw_utils.c

index e4ce952e56aafeff19fff74da4f9b6223c0da8da..477eba80e90a12c2d87de007fb7b01710c69737f 100644 (file)
@@ -1394,29 +1394,14 @@ static int is_sdca_endpoint_present(struct device *dev,
        const struct snd_soc_acpi_adr_device *adr_dev = &adr_link->adr_d[adr_index];
        const struct snd_soc_acpi_endpoint *adr_end;
        const struct asoc_sdw_dai_info *dai_info;
-       struct snd_soc_dai_link_component *dlc;
-       struct snd_soc_dai *codec_dai;
        struct sdw_slave *slave;
        struct device *sdw_dev;
        const char *sdw_codec_name;
        int ret, i;
 
-       dlc = kzalloc(sizeof(*dlc), GFP_KERNEL);
-       if (!dlc)
-               return -ENOMEM;
-
        adr_end = &adr_dev->endpoints[end_index];
        dai_info = &codec_info->dais[adr_end->num];
 
-       dlc->dai_name = dai_info->dai_name;
-       codec_dai = snd_soc_find_dai_with_mutex(dlc);
-       if (!codec_dai) {
-               dev_warn(dev, "codec dai %s not registered yet\n", dlc->dai_name);
-               kfree(dlc);
-               return -EPROBE_DEFER;
-       }
-       kfree(dlc);
-
        sdw_codec_name = _asoc_sdw_get_codec_name(dev, adr_link, adr_index);
        if (!sdw_codec_name)
                return -ENOMEM;