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