Topology files that are propagated to the world and utilized by the
skylake-driver carry shortcomings in their SectionGraphs.
Since commit 
daa480bde6b3 ("ASoC: soc-core: tidyup for
snd_soc_dapm_add_routes()") route checks are no longer permissive. Probe
failures for Intel boards have been partially addressed by commit
a22ae72b86a4 ("ASoC: soc-core: disable route checks for legacy devices")
and its follow up but only skl_nau88l25_ssm4567.c is patched. Fix the
problem for the rest of the boards.
Link: https://lore.kernel.org/all/20200309192744.18380-1-pierre-louis.bossart@linux.intel.com/
Fixes: daa480bde6b3 ("ASoC: soc-core: tidyup for snd_soc_dapm_add_routes()")
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://msgid.link/r/20240308090502.2136760-2-cezary.rojewski@intel.com
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
        .dapm_routes = audio_map,
        .num_dapm_routes = ARRAY_SIZE(audio_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = bxt_card_late_probe,
 };
 
 
        .dapm_routes = broxton_rt298_map,
        .num_dapm_routes = ARRAY_SIZE(broxton_rt298_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = bxt_card_late_probe,
 
 };
 
        card = &glk_audio_card_rt5682_m98357a;
        card->dev = &pdev->dev;
        snd_soc_card_set_drvdata(card, ctx);
+       if (!snd_soc_acpi_sof_parent(&pdev->dev))
+               card->disable_route_checks = true;
 
        /* override platform name, if required */
        mach = pdev->dev.platform_data;
 
        .dapm_routes = kabylake_map,
        .num_dapm_routes = ARRAY_SIZE(kabylake_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
 
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
        .codec_conf = max98373_codec_conf,
        .num_configs = ARRAY_SIZE(max98373_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
        .codec_conf = max98373_codec_conf,
        .num_configs = ARRAY_SIZE(max98373_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
 
        .dapm_routes = kabylake_rt5660_map,
        .num_dapm_routes = ARRAY_SIZE(kabylake_rt5660_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
 
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
        .dapm_routes = kabylake_5663_map,
        .num_dapm_routes = ARRAY_SIZE(kabylake_5663_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
 
        .codec_conf = max98927_codec_conf,
        .num_configs = ARRAY_SIZE(max98927_codec_conf),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = kabylake_card_late_probe,
 };
 
 
        ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
 
        hda_soc_card.dev = &pdev->dev;
+       if (!snd_soc_acpi_sof_parent(&pdev->dev))
+               hda_soc_card.disable_route_checks = true;
 
        if (mach->mach_params.dmic_num > 0) {
                snprintf(hda_soc_components, sizeof(hda_soc_components),
 
        .dapm_routes = skylake_map,
        .num_dapm_routes = ARRAY_SIZE(skylake_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = skylake_card_late_probe,
 };
 
 
        .dapm_routes = skylake_rt286_map,
        .num_dapm_routes = ARRAY_SIZE(skylake_rt286_map),
        .fully_routed = true,
+       .disable_route_checks = true,
        .late_probe = skylake_card_late_probe,
 };