lockdep: warn about lockdep disabling after kernel taint, fix
authorIngo Molnar <mingo@elte.hu>
Tue, 14 Apr 2009 09:03:12 +0000 (11:03 +0200)
committerIngo Molnar <mingo@elte.hu>
Tue, 14 Apr 2009 09:11:52 +0000 (11:11 +0200)
commit27b19565fe4ca5b0e9d2ae98ce4b81ca728bf445
tree0efe59361534d3ec8442b322059ec932b612801a
parentb21597d0268983f8f9e8b563494f75490403e948
lockdep: warn about lockdep disabling after kernel taint, fix

Impact: build fix for Sparc and s390

Stephen Rothwell reported that the Sparc build broke:

 In file included from kernel/panic.c:12:
 include/linux/debug_locks.h: In function '__debug_locks_off':
 include/linux/debug_locks.h:15: error: implicit declaration of function 'xchg'

due to:

 9eeba61: lockdep: warn about lockdep disabling after kernel taint

There is some inconsistency between architectures about where exactly
xchg() is defined.

The traditional place is in system.h but the more logical point for it
is in atomic.h - where most architectures (especially new ones) have
it defined. These architecture also still offer it via system.h.

Some, such as Sparc or s390 only have it in asm/system.h and not available
via asm/atomic.h at all.

Use the widest set of headers in debug_locks.h and also include asm/system.h.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <20090414144317.026498df.sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/debug_locks.h