[alsa-devel] [PATCH 2/4] ASoC: pxa-ssp: PXA2xx/3xx SSP ports start from 1, not 0

pHilipp Zabel philipp.zabel at gmail.com
Tue Feb 3 18:13:22 CET 2009

On Tue, Feb 3, 2009 at 5:47 PM, Mark Brown <broonie at sirena.org.uk> wrote:
> On Tue, Feb 03, 2009 at 05:19:41PM +0100, Philipp Zabel wrote:
>> Signed-off-by: Philipp Zabel <philipp.zabel at gmail.com>
> Meh, all the display names use the documentation names and the id is
> used for indexing into arrays (which may well be why you're not getting
> any audio out...).  I'd be more inclined to leave this as-is but if not
> it needs to adjust all the array usages.

Meh, indeed. Jumping between pxa2xx-ssp and pxa-ssp must have confused
me. A lot.
The only thing wrong with pxa-ssp is that it requests the wrong SSP port, then:

diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index 73cb6b4..7f7c23e 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -751,7 +751,7 @@ static int pxa_ssp_probe(struct platform_device *pdev,
        if (!priv)
                return -ENOMEM;

-       priv->dev.ssp = ssp_request(dai->id, "SoC audio");
+       priv->dev.ssp = ssp_request(dai->id + 1, "SoC audio");
        if (priv->dev.ssp == NULL) {
                ret = -ENODEV;
                goto err_priv;

But this isn't right either. Because if we request the correct SSP
port here, the subsequent request of the same SSP port in ssp_init
(called from ops->startup) fails.
How to fix?


More information about the Alsa-devel mailing list