linux-next: manual merge of the arm tree with Linus' tree

From: Stephen Rothwell
Date: Wed Mar 03 2010 - 18:50:12 EST


Hi Russell,

Today's linux-next merge of the arm tree got a conflict in
sound/soc/pxa/pxa-ssp.c between commit
026384d614b827f368834860c9b623ce08439b7e ("ASoC: fix PXA SSP port
resume") from Linus' tree and commit
f9efc9df94fd126f7d585339e64edec0c03e904b ("ASoC: Remove legacy SSP API
usage from pxa-ssp.c") from the arm tree.

I fixed it up (see below - it should be checked) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

diff --cc sound/soc/pxa/pxa-ssp.c
index e69397f,cf00df9..0000000
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@@ -133,28 -152,39 +152,41 @@@ static void pxa_ssp_shutdown(struct snd
static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai)
{
struct ssp_priv *priv = cpu_dai->private_data;
+ struct ssp_device *ssp = priv->ssp;

if (!cpu_dai->active)
- return 0;
+ clk_enable(priv->dev.ssp->clk);

- ssp_save_state(&priv->dev, &priv->state);
- clk_disable(priv->dev.ssp->clk);
+ priv->cr0 = __raw_readl(ssp->mmio_base + SSCR0);
+ priv->cr1 = __raw_readl(ssp->mmio_base + SSCR1);
+ priv->to = __raw_readl(ssp->mmio_base + SSTO);
+ priv->psp = __raw_readl(ssp->mmio_base + SSPSP);
+
+ ssp_disable(ssp);
+ clk_disable(ssp->clk);
+
return 0;
}

static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai)
{
struct ssp_priv *priv = cpu_dai->private_data;
+ struct ssp_device *ssp = priv->ssp;
+ uint32_t sssr = SSSR_ROR | SSSR_TUR | SSSR_BCE;

- clk_enable(priv->dev.ssp->clk);
- ssp_restore_state(&priv->dev, &priv->state);
- if (!cpu_dai->active)
- return 0;
-
+ clk_enable(ssp->clk);

- if (cpu_dai->active)
- ssp_enable(&priv->dev);
- else
- clk_disable(priv->dev.ssp->clk);
- __raw_writel(sssr, ssp->mmio_base + SSSR);
++ if (cpu_dai->active) {
++ __raw_writel(sssr, ssp->mmio_base + SSSR);
++
++ __raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0);
++ __raw_writel(priv->cr1, ssp->mmio_base + SSCR1);
++ __raw_writel(priv->to, ssp->mmio_base + SSTO);
++ __raw_writel(priv->psp, ssp->mmio_base + SSPSP);
++ __raw_writel(priv->cr0 | SSCR0_SSE, ssp->mmio_base + SSCR0);
++ } else
++ clk_disable(ssp->clk);

- __raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0);
- __raw_writel(priv->cr1, ssp->mmio_base + SSCR1);
- __raw_writel(priv->to, ssp->mmio_base + SSTO);
- __raw_writel(priv->psp, ssp->mmio_base + SSPSP);
- __raw_writel(priv->cr0 | SSCR0_SSE, ssp->mmio_base + SSCR0);
return 0;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/