[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTi=5g_pTOhSqjMxcCvx868kt1xR67eN9FsKPQqrc@mail.gmail.com>
Date: Mon, 13 Sep 2010 15:05:25 -0700
From: Tony Luck <tony.luck@...il.com>
To: Sachin Sant <sachinp@...ibm.com>
Cc: linux-s390@...r.kernel.org,
"linux-next@...r.kernel.org" <linux-next@...r.kernel.org>,
Heiko Carstens <heiko.carstens@...ibm.com>,
laijs@...fujitsu.com, linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [-next Sept 13] s390 build break [nclude/linux/interrupt.h:local_softirq_pending()]
On Mon, Sep 13, 2010 at 4:02 AM, Sachin Sant <sachinp@...ibm.com> wrote:
> Today's next build failed on a s390 box with following
> include/linux/interrupt.h: In function '__raise_softirq_irqoff':
> include/linux/interrupt.h:429: error: implicit declaration of function
> 'local_softirq_pending'
> include/linux/interrupt.h:429: error: lvalue required as left operand of
> assignment
> In file included from /tmp/build/linux/arch/s390/include/asm/hardirq.h:18,
Same problem on ia64. The problem seem to be the conversion of
__raise_softirq_irqoff() from #define macro to static function. This means
the compiler looks more closely at the:
or_softirq_pending(1UL << nr);
line ... which expands to
(local_softirq_pending() |= (1UL << nr);
on every architecture where __ARCH_SET_SOFTIRQ_PENDING is not
set (everything except x86). It seems that s390 and ia64 don't have an
in scope #define for local_softirq_pending() at this point, hence the "lvalue
required" error message.
I think we need <asm/hardirq.h> to provide this ... but the dependencies here
are a bit messy.
-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists