summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/boards/bytcr_wm5102.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2022-06-14 11:25:45 +0100
committerMark Brown <broonie@kernel.org>2022-06-14 11:25:45 +0100
commit14cc5849120051caf537f663ec620910503bb719 (patch)
treef786cd254d3a6dc104976b03e05b381d9fe5cc16 /sound/soc/intel/boards/bytcr_wm5102.c
parent7ed1f83bb4f05fe460984ae49e98d1c1be38fb5f (diff)
parentda440af07fc3dd2b5a5138671eba51991dd1fac8 (diff)
downloadlinux-14cc5849120051caf537f663ec620910503bb719.tar.bz2
ASoC: Merge fixes
Required for more changes for the ops.
Diffstat (limited to 'sound/soc/intel/boards/bytcr_wm5102.c')
-rw-r--r--sound/soc/intel/boards/bytcr_wm5102.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/sound/soc/intel/boards/bytcr_wm5102.c b/sound/soc/intel/boards/bytcr_wm5102.c
index fe79f6e5f2bb..45a6805787f5 100644
--- a/sound/soc/intel/boards/bytcr_wm5102.c
+++ b/sound/soc/intel/boards/bytcr_wm5102.c
@@ -421,8 +421,17 @@ static int snd_byt_wm5102_mc_probe(struct platform_device *pdev)
priv->spkvdd_en_gpio = gpiod_get(codec_dev, "wlf,spkvdd-ena", GPIOD_OUT_LOW);
put_device(codec_dev);
- if (IS_ERR(priv->spkvdd_en_gpio))
- return dev_err_probe(dev, PTR_ERR(priv->spkvdd_en_gpio), "getting spkvdd-GPIO\n");
+ if (IS_ERR(priv->spkvdd_en_gpio)) {
+ ret = PTR_ERR(priv->spkvdd_en_gpio);
+ /*
+ * The spkvdd gpio-lookup is registered by: drivers/mfd/arizona-spi.c,
+ * so -ENOENT means that arizona-spi hasn't probed yet.
+ */
+ if (ret == -ENOENT)
+ ret = -EPROBE_DEFER;
+
+ return dev_err_probe(dev, ret, "getting spkvdd-GPIO\n");
+ }
/* override platform name, if required */
byt_wm5102_card.dev = dev;