On Thu, Mar 4, 2010 at 7:49 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > 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. Hi Stephen, I've yet made another fix and have a test build, please use this one if possible: diff --cc sound/soc/pxa/pxa-ssp.c index e69397f,cf00df9..9e95e51 --- a/sound/soc/pxa/pxa-ssp.c +++ b/sound/soc/pxa/pxa-ssp.c @@@ -133,28 -152,39 +152,40 @@@ 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) - clk_enable(priv->dev.ssp->clk); - return 0; ++ clk_enable(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; + - if (!cpu_dai->active) - return 0; - + clk_enable(ssp->clk); - clk_enable(priv->dev.ssp->clk); - ssp_restore_state(&priv->dev, &priv->state); + __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); + + if (cpu_dai->active) - ssp_enable(&priv->dev); ++ ssp_enable(ssp); + else - clk_disable(priv->dev.ssp->clk); ++ clk_disable(ssp->clk); + return 0; } -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html