[tip:core/urgent] bug.h: Fix x86 !CONFIG_BUG build regression

From: tip-bot for Ingo Molnar
Date: Mon Jun 25 2012 - 07:42:06 EST


Commit-ID: 7b37393f13d511fa076d4527e35e86cc45d974c5
Gitweb: http://git.kernel.org/tip/7b37393f13d511fa076d4527e35e86cc45d974c5
Author: Ingo Molnar <mingo@xxxxxxxxxx>
AuthorDate: Mon, 25 Jun 2012 11:42:15 +0200
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Mon, 25 Jun 2012 12:48:29 +0200

bug.h: Fix x86 !CONFIG_BUG build regression

Commit 2603efa31a03 ("bug.h: Fix up powerpc build regression.")
broke most x86 !CONFIG_BUG builds in -rc4:

include/linux/cpumask.h: In function âcpumask_checkâ:
include/linux/cpumask.h:108:2: error: implicit declaration of function âWARN_ON_ONCEâ
[...]

The commit mis-placed the !ASSEMBLY block, mixing it with the
CONFIG_BUG section.

Hiding an #include <kernel.h> deep inside a generic header is in
pretty bad taste anyway, it creates kconfig dependent breakages
and makes it harder to untangle header files.

Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Paul Mundt <lethal@xxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20120625094215.GA25847@xxxxxxxxx
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
include/asm-generic/bug.h | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
index 506ec19..53f3eb1 100644
--- a/include/asm-generic/bug.h
+++ b/include/asm-generic/bug.h
@@ -3,6 +3,10 @@

#include <linux/compiler.h>

+#ifndef __ASSEMBLY__
+# include <linux/kernel.h>
+#endif
+
#ifdef CONFIG_BUG

#ifdef CONFIG_GENERIC_BUG
@@ -31,9 +35,6 @@ struct bug_entry {

#endif /* CONFIG_GENERIC_BUG */

-#ifndef __ASSEMBLY__
-#include <linux/kernel.h>
-
/*
* Don't use BUG() or BUG_ON() unless there's really no way out; one
* example might be detecting data structure corruption in the middle
@@ -63,6 +64,8 @@ struct bug_entry {
* to provide better diagnostics.
*/
#ifndef __WARN_TAINT
+
+#ifndef __ASSEMBLY__
extern __printf(3, 4)
void warn_slowpath_fmt(const char *file, const int line,
const char *fmt, ...);
@@ -70,6 +73,8 @@ extern __printf(4, 5)
void warn_slowpath_fmt_taint(const char *file, const int line, unsigned taint,
const char *fmt, ...);
extern void warn_slowpath_null(const char *file, const int line);
+#endif /* __ASSEMBLY__ */
+
#define WANT_WARN_ON_SLOWPATH
#define __WARN() warn_slowpath_null(__FILE__, __LINE__)
#define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg)
@@ -108,6 +113,7 @@ extern void warn_slowpath_null(const char *file, const int line);
})

#else /* !CONFIG_BUG */
+
#ifndef HAVE_ARCH_BUG
#define BUG() do {} while(0)
#endif
@@ -203,6 +209,4 @@ extern void warn_slowpath_null(const char *file, const int line);
# define WARN_ON_SMP(x) ({0;})
#endif

-#endif /* __ASSEMBLY__ */
-
#endif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/