On Sat, Dec 17, 2011 at 02:28:35PM +0000, Thorsten Glaser wrote:
> Ben Hutchings dixit:
> 
> >why other architectures get away with it.  Maybe they just don't use
> >pr_*() in headers.
> 
> Maybe something like this?
> 
> #define ack_bad_irq(irq) do {                                 \
>       pr_crit("unexpected IRQ trap at vector %02x\n",         \
>           (unsigned int)(irq));                               \
> } while (/* CONSTCOND */ 0)
> 
> This would defer pr_crit expansion to when the static inline
> function was actually used.
> 
> Just an idea of the moment,
IMHO the problem is that aufs provides an incomplete definition of
pr_fmt. Either it should define AUFS_NAME on the commandline, too, or
should define pr_fmt in an aufs header (or a .c file) #included after
all other headers and only when AUFS_NAME is defined, too.

The ugly thing about aufs' pr_fmt being already there when ack_bad_irq
is defined is, that the message printed by the pr_crit suddenly looks
aufs specific which it clearly isn't. So it should better make sure that
the definition isn't available to ack_bad_irq.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111217184915.gl24...@pengutronix.de

Reply via email to