[alsa-devel] [PATCH] ASoC: fsl-ssi: Allow to use driver with generic audio card

Alexander Shiyan shc_work at mail.ru
Sat Apr 26 16:49:16 CEST 2014


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 at 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,
-- 
1.8.3.2



More information about the Alsa-devel mailing list