Subject: [PATCH v3 0/3] Ordered I/O accessors

From: [email-masked] (Will Deacon)
Date: Wed, 28 Jul 2010 14:06:52 +0100

Hi Russell, Rabin,

> On Tue, Jul 27, 2010 at 13:03:10 +0200, Russell King - ARM Linux wrote:
> > On Wed, Jul 14, 2010 at 04:01:12PM +0100, Catalin Marinas wrote:
> > > This version replaces the do { ... } while (0) constructs in the final
> > > patch with ({ ... }) to avoid errors in drivers putting brackets around
> > > the write*() accessors. To avoid the write*() macro having a non-void
> > > type (and possibly the compiler generating code to read a register), the
> > > first patch explicitly casts the __raw_write*() accessors to (void).
> >
> > Ok.  Can you please put this in the patch system?  I think we need to
> > get this in prior to 2.6.35 being released.

Catalin's away at the moment and I'm not sure if he's picking up mail.

> ux500 is using writel() inside uncompress.h, so this series triggers a
> build failure there:
> 
>   arch/arm/boot/compressed/misc.o: In function `putc':
>   arch/arm/mach-ux500/include/mach/uncompress.h:41:
>   undefined reference to `outer_cache'

There's also an issue with the iowrite* macros, which need a (void)
cast in the same way as the write* guys.

Will