diff options
author | Jon Medhurst (Tixy) <tixy@linaro.org> | 2016-02-01 15:54:37 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-02-02 19:20:18 +0000 |
commit | d2f916aaccaf7b3bc27df2fd6cfc00f6cda2f78d (patch) | |
tree | e9de2a946633315006d670a0393368641efa3cce /sound/soc | |
parent | 92e963f50fc74041b5e9e744c330dca48e04f08d (diff) | |
download | blackbird-op-linux-d2f916aaccaf7b3bc27df2fd6cfc00f6cda2f78d.tar.gz blackbird-op-linux-d2f916aaccaf7b3bc27df2fd6cfc00f6cda2f78d.zip |
ASoC: dwc: Ensure i2s_reg_comp{1,2} is always initialised
In the case that the driver is configured from device-tree
i2s_reg_comp1 and i2s_reg_comp2 aren't initialised, breaking the driver.
Fix this by unconditionally setting these values before checking for quirks.
Fixes: a242cac1d3aa ("ASoC: dwc: add quirk to override COMP_PARAM_1 register")
Signed-off-by: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/dwc/designware_i2s.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sound/soc/dwc/designware_i2s.c b/sound/soc/dwc/designware_i2s.c index ce664c239be3..bff258d7bcea 100644 --- a/sound/soc/dwc/designware_i2s.c +++ b/sound/soc/dwc/designware_i2s.c @@ -645,6 +645,8 @@ static int dw_i2s_probe(struct platform_device *pdev) dev->dev = &pdev->dev; + dev->i2s_reg_comp1 = I2S_COMP_PARAM_1; + dev->i2s_reg_comp2 = I2S_COMP_PARAM_2; if (pdata) { dev->capability = pdata->cap; clk_id = NULL; @@ -652,9 +654,6 @@ static int dw_i2s_probe(struct platform_device *pdev) if (dev->quirks & DW_I2S_QUIRK_COMP_REG_OFFSET) { dev->i2s_reg_comp1 = pdata->i2s_reg_comp1; dev->i2s_reg_comp2 = pdata->i2s_reg_comp2; - } else { - dev->i2s_reg_comp1 = I2S_COMP_PARAM_1; - dev->i2s_reg_comp2 = I2S_COMP_PARAM_2; } ret = dw_configure_dai_by_pd(dev, dw_i2s_dai, res, pdata); } else { |