summaryrefslogtreecommitdiff
path: root/sound/soc/kirkwood/kirkwood-i2s.c
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2013-09-21 10:00:36 (GMT)
committerMark Brown <broonie@linaro.org>2013-09-21 13:31:10 (GMT)
commit84aac6c79bfdcfbcd8541c814b365c3001cdf5e6 (patch)
tree92447ad11e635852be1d0742776dd928c1b96054 /sound/soc/kirkwood/kirkwood-i2s.c
parentb51600c01979ab1d1c4df17e8910696547ffb9a2 (diff)
downloadlinux-84aac6c79bfdcfbcd8541c814b365c3001cdf5e6.tar.xz
ASoC: kirkwood: fix loss of external clock at probe time
At probe time, when the clock driver is not yet initialized, the external clock of the kirkwood sound device will not be usable. This patch fixes this problem defering the device probe. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/kirkwood/kirkwood-i2s.c')
-rw-r--r--sound/soc/kirkwood/kirkwood-i2s.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index 0f3d73d..3e59af9 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -496,7 +496,10 @@ static int kirkwood_i2s_dev_probe(struct platform_device *pdev)
return err;
priv->extclk = devm_clk_get(&pdev->dev, "extclk");
- if (!IS_ERR(priv->extclk)) {
+ if (IS_ERR(priv->extclk)) {
+ if (PTR_ERR(priv->extclk) == -EPROBE_DEFER)
+ return -EPROBE_DEFER;
+ } else {
if (priv->extclk == priv->clk) {
devm_clk_put(&pdev->dev, priv->extclk);
priv->extclk = ERR_PTR(-EINVAL);