[alsa-devel] [PATCH 4/4] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX

Timur Tabi timur at freescale.com
Thu Feb 23 16:44:37 CET 2012

Sergei Shtylyov wrote:
>     These functions are not equivalent concerning endianness. You should 
> probably have used readl_be() instead, else it won't work on PPC anymore.

readl_be() is not good enough, either.  The in/out_be functions have
specific syncronization instructions in them, so that the operations
conform to the PowerPC instruction ordering architecture.

You probably need to do something like this:

#ifdef PPC
#define read_ssi(x) in_be32(x)
#else #if defined ARM
#define read_ssi(x) readl(x)

Timur Tabi
Linux kernel developer at Freescale

More information about the Alsa-devel mailing list