Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa44c077 authored by Daniel Ribeiro's avatar Daniel Ribeiro Committed by Mark Brown
Browse files

ASoC: remove duplicated code on pxa-ssp.c



* We don't need to write the registers twice, remove the first write.
* DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move it
  out.

(This patch is for Mark's for-2.6.32 branch, I have not checked if the
code is duplicated on current 2.6.30)

Signed-off-by: default avatarDaniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 46f5822f
Loading
Loading
Loading
Loading
+15 −35
Original line number Original line Diff line number Diff line
@@ -457,16 +457,6 @@ static int pxa_ssp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
		return -EINVAL;
		return -EINVAL;
	}
	}


	ssp_write_reg(ssp, SSCR0, sscr0);
	ssp_write_reg(ssp, SSCR1, sscr1);
	ssp_write_reg(ssp, SSPSP, sspsp);

	switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
	case SND_SOC_DAIFMT_I2S:
		sscr0 |= SSCR0_PSP;
		sscr1 |= SSCR1_RWOT | SSCR1_TRAIL;

		/* See hw_params() */
	switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
	switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
	case SND_SOC_DAIFMT_NB_NF:
	case SND_SOC_DAIFMT_NB_NF:
		sspsp |= SSPSP_SFRMP;
		sspsp |= SSPSP_SFRMP;
@@ -482,6 +472,12 @@ static int pxa_ssp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
	default:
	default:
		return -EINVAL;
		return -EINVAL;
	}
	}

	switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
	case SND_SOC_DAIFMT_I2S:
		sscr0 |= SSCR0_PSP;
		sscr1 |= SSCR1_RWOT | SSCR1_TRAIL;
		/* See hw_params() */
		break;
		break;


	case SND_SOC_DAIFMT_DSP_A:
	case SND_SOC_DAIFMT_DSP_A:
@@ -489,22 +485,6 @@ static int pxa_ssp_set_dai_fmt(struct snd_soc_dai *cpu_dai,
	case SND_SOC_DAIFMT_DSP_B:
	case SND_SOC_DAIFMT_DSP_B:
		sscr0 |= SSCR0_MOD | SSCR0_PSP;
		sscr0 |= SSCR0_MOD | SSCR0_PSP;
		sscr1 |= SSCR1_TRAIL | SSCR1_RWOT;
		sscr1 |= SSCR1_TRAIL | SSCR1_RWOT;

		switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
		case SND_SOC_DAIFMT_NB_NF:
			sspsp |= SSPSP_SFRMP;
			break;
		case SND_SOC_DAIFMT_NB_IF:
			break;
		case SND_SOC_DAIFMT_IB_IF:
			sspsp |= SSPSP_SCMODE(2);
			break;
		case SND_SOC_DAIFMT_IB_NF:
			sspsp |= SSPSP_SCMODE(2) | SSPSP_SFRMP;
			break;
		default:
			return -EINVAL;
		}
		break;
		break;


	default:
	default: