Re: 2.6.18-rc5-mm1: drivers/infiniband/hw/amso1100/c2.c compile error

Andrew Morton
2006-09-01T17:20:11Z

On Fri, 1 Sep 2006 18:00:23 +0200
Adrian Bunk <bunk@stusta.de> wrote:

> On Fri, Sep 01, 2006 at 01:58:18AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.18-rc4-mm3:
> >...
> > +amso1100-build-fix.patch
> >
> > Fix git-infiniband.patch
> >...
>
> This causes the following compile error on i386:
>
> <-- snip -->
>
> ...
> CC drivers/infiniband/hw/amso1100/c2.o
> /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/infiniband/hw/amso1100/c2.c: In function ‘c2_tx_ring_alloc’:
> /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/infiniband/hw/amso1100/c2.c:133: error: implicit declaration of function ‘__raw_writeq’
> make[4]: *** [drivers/infiniband/hw/amso1100/c2.o] Error 1
>

That would have been me cheerfully deleting stuff because it didn't build
on powerpc.

>
> There seems to be some confusion regarding whether __raw_writeq() is
> considered a platform independent API.
>

It appears to be undocumented and uncommented hence it's not an API
_at all_, is it?

What's __raw_writeq() supposed to do, anyway? On alpha it's writeq()
without an mb(). On parisc it's writeq() only the data is byte-reversed.
On sparc64() it's incomprehensible. On everything else it's writeq().

What a crock.