ASoC: Intel: avs: Permit deferred card registration

Utilize card->deferrable flag to support delayed card enumeration -
scenario where snd_soc_register_card() occurs before all the required
card components are registered into the framework.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250404101622.3673850-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Cezary Rojewski
2025-04-04 12:16:22 +02:00
committed by Mark Brown
parent a3375522bb
commit d0e1a832ce
18 changed files with 18 additions and 18 deletions

View File

@@ -256,7 +256,7 @@ static int avs_da7219_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_da7219_driver_ids[] = {

View File

@@ -74,7 +74,7 @@ static int avs_dmic_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_dmic_driver_ids[] = {

View File

@@ -303,7 +303,7 @@ static int avs_es8336_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_es8336_driver_ids[] = {

View File

@@ -209,7 +209,7 @@ static int avs_hdaudio_probe(struct platform_device *pdev)
if (hda_codec_is_display(codec))
card->late_probe = avs_card_late_probe;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_hdaudio_driver_ids[] = {

View File

@@ -101,7 +101,7 @@ static int avs_i2s_test_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_i2s_test_driver_ids[] = {

View File

@@ -132,7 +132,7 @@ static int avs_max98357a_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_max98357a_driver_ids[] = {

View File

@@ -187,7 +187,7 @@ static int avs_max98373_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_max98373_driver_ids[] = {

View File

@@ -184,7 +184,7 @@ static int avs_max98927_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_max98927_driver_ids[] = {

View File

@@ -290,7 +290,7 @@ static int avs_nau8825_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_nau8825_driver_ids[] = {

View File

@@ -116,7 +116,7 @@ static int avs_pcm3168a_probe(struct platform_device *pdev)
card->num_dapm_routes = ARRAY_SIZE(card_routes);
card->fully_routed = true;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_pcm3168a_driver_ids[] = {

View File

@@ -47,7 +47,7 @@ static int avs_probe_mb_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_probe_mb_driver_ids[] = {

View File

@@ -254,7 +254,7 @@ static int avs_rt274_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_rt274_driver_ids[] = {

View File

@@ -224,7 +224,7 @@ static int avs_rt286_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_rt286_driver_ids[] = {

View File

@@ -243,7 +243,7 @@ static int avs_rt298_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_rt298_driver_ids[] = {

View File

@@ -170,7 +170,7 @@ static int avs_rt5514_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_rt5514_driver_ids[] = {

View File

@@ -242,7 +242,7 @@ static int avs_rt5663_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_rt5663_driver_ids[] = {

View File

@@ -318,7 +318,7 @@ static int avs_rt5682_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_rt5682_driver_ids[] = {

View File

@@ -173,7 +173,7 @@ static int avs_ssm4567_probe(struct platform_device *pdev)
if (ret)
return ret;
return devm_snd_soc_register_card(dev, card);
return devm_snd_soc_register_deferrable_card(dev, card);
}
static const struct platform_device_id avs_ssm4567_driver_ids[] = {