Generic sound card checks return value of functions for setup format, clock and slot for -ENOTSUPP error. Add this compatibility to fsl-ssi driver. --- I'm really not sure that's a good solution, please correct me if I'm wrong.
Signed-off-by: Alexander Shiyan shc_work@mail.ru --- sound/soc/fsl/fsl_ssi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index 25865d8f..6891b8c 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -764,7 +764,7 @@ static int fsl_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) ssi_private->i2s_mode |= CCSR_SSI_SCR_I2S_MODE_SLAVE; break; default: - return -EINVAL; + return -ENOTSUPP; }
/* Data on rising edge of bclk, frame low, 1clk before data */ @@ -789,7 +789,7 @@ static int fsl_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) ssi_private->i2s_mode |= CCSR_SSI_SCR_I2S_MODE_NORMAL; break; default: - return -EINVAL; + return -ENOTSUPP; } scr |= ssi_private->i2s_mode;
@@ -812,7 +812,7 @@ static int fsl_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) strcr ^= CCSR_SSI_STCR_TFSI; break; default: - return -EINVAL; + return -ENOTSUPP; }
/* DAI clock master masks */ @@ -825,7 +825,7 @@ static int fsl_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) scr &= ~CCSR_SSI_SCR_SYS_CLK_EN; break; default: - return -EINVAL; + return -ENOTSUPP; }
stcr |= strcr; @@ -897,7 +897,7 @@ static int fsl_ssi_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
/* Don't apply it to any non-baudclk circumstance */ if (IS_ERR(ssi_private->baudclk)) - return -EINVAL; + return -ENOTSUPP;
/* It should be already enough to divide clock by setting pm alone */ psr = 0; @@ -986,7 +986,7 @@ static int fsl_ssi_set_dai_tdm_slot(struct snd_soc_dai *cpu_dai, u32 tx_mask, val = read_ssi(&ssi->scr) & (CCSR_SSI_SCR_I2S_MODE_MASK | CCSR_SSI_SCR_NET); if (val && slots < 2) { dev_err(cpu_dai->dev, "slot number should be >= 2 in I2S or NET\n"); - return -EINVAL; + return -ENOTSUPP; }
write_ssi_mask(&ssi->stccr, CCSR_SSI_SxCCR_DC_MASK,