Linus Torvalds
ed2d265d12
Merge tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
...
Pull <linux/bug.h> cleanup from Paul Gortmaker:
"The changes shown here are to unify linux's BUG support under the one
<linux/bug.h> file. Due to historical reasons, we have some BUG code
in bug.h and some in kernel.h -- i.e. the support for BUILD_BUG in
linux/kernel.h predates the addition of linux/bug.h, but old code in
kernel.h wasn't moved to bug.h at that time. As a band-aid, kernel.h
was including <asm/bug.h> to pseudo link them.
This has caused confusion[1] and general yuck/WTF[2] reactions. Here
is an example that violates the principle of least surprise:
CC lib/string.o
lib/string.c: In function 'strlcat':
lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
make[2]: *** [lib/string.o] Error 1
$
$ grep linux/bug.h lib/string.c
#include <linux/bug.h>
$
We've included <linux/bug.h> for the BUG infrastructure and yet we
still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
very confusing for someone who is new to kernel development.
With the above in mind, the goals of this changeset are:
1) find and fix any include/*.h files that were relying on the
implicit presence of BUG code.
2) find and fix any C files that were consuming kernel.h and hence
relying on implicitly getting some/all BUG code.
3) Move the BUG related code living in kernel.h to <linux/bug.h>
4) remove the asm/bug.h from kernel.h to finally break the chain.
During development, the order was more like 3-4, build-test, 1-2. But
to ensure that git history for bisect doesn't get needless build
failures introduced, the commits have been reorderd to fix the problem
areas in advance.
[1] https://lkml.org/lkml/2012/1/3/90
[2] https://lkml.org/lkml/2012/1/17/414 "
Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
and linux-next.
* tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
kernel.h: doesn't explicitly use bug.h, so don't include it.
bug: consolidate BUILD_BUG_ON with other bug code
BUG: headers with BUG/BUG_ON etc. need linux/bug.h
bug.h: add include of it to various implicit C users
lib: fix implicit users of kernel.h for TAINT_WARN
spinlock: macroize assert_spin_locked to avoid bug.h dependency
x86: relocate get/set debugreg fcns to include/asm/debugreg.
2012-03-24 10:08:39 -07:00
..
2011-12-05 17:17:24 +01:00
2012-01-26 10:58:27 +01:00
2010-02-19 16:12:29 -08:00
2012-03-10 12:44:44 -05:00
2009-11-10 11:23:05 +01:00
2008-10-22 22:55:23 -07:00
2011-05-29 11:18:09 -07:00
2009-02-18 16:48:05 +08:00
2009-08-03 09:05:00 +01:00
2012-01-04 15:01:56 +01:00
2012-01-20 17:29:31 -08:00
2012-01-06 12:11:19 -08:00
2011-07-23 10:34:47 -07:00
2011-12-05 17:17:07 +01:00
2012-03-14 09:49:48 +01:00
2011-12-23 11:01:01 -08:00
2009-01-29 14:16:51 +01:00
2010-05-17 15:17:16 -07:00
2011-07-31 14:02:19 -07:00
2009-12-12 13:08:14 +01:00
2011-07-21 09:03:36 +02:00
2012-01-20 17:29:49 -08:00
2011-08-29 13:44:12 -07:00
2011-08-29 13:44:12 -07:00
2008-10-22 22:55:23 -07:00
2011-04-29 14:13:15 -07:00
2011-12-15 15:16:49 -08:00
2009-06-11 21:02:14 +02:00
2011-01-13 08:03:25 -08:00
2011-12-09 17:35:33 -08:00
2009-12-05 09:10:12 -08:00
2008-10-22 22:55:23 -07:00
2009-01-14 19:56:50 -08:00
2010-03-03 11:26:00 +01:00
2011-03-18 10:39:30 +01:00
2010-08-26 15:13:13 -07:00
2011-06-03 14:38:53 -07:00
2011-03-14 15:13:23 +01:00
2009-10-01 16:11:12 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2011-07-21 13:34:05 -07:00
2012-01-04 15:01:54 +01:00
2012-01-04 15:01:54 +01:00
2012-01-26 21:18:29 +01:00
2011-10-28 14:58:53 +02:00
2012-01-26 16:44:41 -08:00
2011-02-14 12:08:28 +01:00
2012-03-22 09:28:15 -07:00
2009-03-13 14:49:54 +10:30
2008-10-22 22:55:20 -07:00
2009-08-04 01:28:52 +09:00
2012-02-28 17:48:04 -05:00
2011-07-22 18:46:24 +02:00
2009-12-04 15:39:55 +01:00
2011-12-21 15:38:55 -05:00
2011-09-21 10:22:03 +02:00
2011-12-05 18:16:11 +01:00
2011-09-27 18:08:04 +02:00
2011-05-02 17:24:48 +02:00
2009-03-23 17:20:50 +01:00
2011-09-28 19:04:52 +02:00
2011-12-12 18:25:56 +01:00
2008-10-22 22:55:23 -07:00
2012-02-23 18:54:51 -08:00
2011-08-05 12:26:44 -07:00
2008-11-11 16:19:48 -08:00
2011-06-16 12:10:08 +02:00
2008-10-22 22:55:20 -07:00
2010-02-16 21:22:26 -08:00
2008-10-22 22:55:20 -07:00
2011-12-18 09:17:02 +01:00
2008-10-22 22:55:23 -07:00
2012-02-21 14:12:54 -08:00
2011-07-21 09:03:31 +02:00
2011-05-16 14:55:57 -04:00
2011-03-11 12:23:31 +01:00
2011-04-18 09:26:48 -07:00
2009-02-17 17:52:43 +01:00
2009-12-15 08:53:28 -08:00
2011-01-11 12:46:15 +01:00
2012-02-27 08:46:25 +01:00
2012-03-20 21:48:30 +08:00
2010-10-12 16:53:37 +02:00
2008-10-22 22:55:23 -07:00
2010-09-17 03:24:13 +02:00
2011-09-21 10:22:03 +02:00
2008-10-22 22:55:23 -07:00
2011-08-25 15:23:19 -07:00
2011-01-07 10:03:50 -05:00
2012-02-21 14:12:54 -08:00
2010-10-12 16:53:36 +02:00
2011-11-17 13:35:37 -08:00
2009-03-27 14:43:57 -04:00
2011-05-29 03:38:57 -04:00
2009-08-27 00:35:56 +02:00
2012-02-11 15:11:35 +01:00
2011-11-11 10:22:55 +01:00
2012-02-11 15:11:35 +01:00
2010-03-24 21:37:57 +08:00
2011-12-05 12:42:11 +01:00
2011-05-20 13:41:01 +02:00
2011-08-03 22:00:38 -10:00
2008-10-22 22:55:20 -07:00
2009-06-18 14:40:03 -07:00
2010-10-26 16:52:08 -07:00
2010-10-08 13:11:21 -07:00
2011-11-15 12:22:31 +01:00
2009-06-18 14:40:03 -07:00
2011-01-28 14:54:05 +01:00
2009-01-21 17:26:06 +09:00
2011-09-21 10:22:03 +02:00
2011-10-13 12:12:12 +02:00
2011-02-23 22:27:52 +01:00
2011-07-07 19:22:32 +02:00
2008-10-22 22:55:23 -07:00
2012-02-24 10:05:59 +01:00
2011-11-17 13:35:37 -08:00
2011-07-26 16:49:43 -07:00
2009-03-10 18:13:25 -07:00
2012-03-22 15:07:15 -05:00
2009-06-16 19:47:51 -07:00
2009-06-13 15:37:30 +02:00
2010-03-10 13:23:34 +01:00
2012-02-01 11:43:40 +02:00
2011-12-27 11:24:35 +02:00
2011-07-24 11:49:36 +03:00
2010-08-01 10:46:37 +03:00
2008-10-22 22:55:23 -07:00
2011-07-22 14:39:50 +09:30
2009-08-25 15:40:29 -07:00
2011-05-24 14:33:35 +02:00
2010-06-09 11:12:36 +02:00
2011-07-26 16:49:47 -07:00
2011-11-21 19:00:57 -08:00
2011-11-10 16:21:01 +01:00
2009-02-10 00:39:14 +01:00
2011-12-18 09:14:31 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2012-02-22 12:58:06 -08:00
2011-12-14 12:46:47 +01:00
2009-06-18 14:40:03 -07:00
2008-10-22 22:55:23 -07:00
2011-07-26 16:49:47 -07:00
2011-05-25 16:16:41 +02:00
2008-10-22 22:55:23 -07:00
2011-07-12 21:58:11 -07:00
2011-06-27 14:13:09 -07:00
2008-10-22 22:55:20 -07:00
2011-04-08 13:01:25 -07:00
2011-01-05 14:09:23 +01:00
2011-01-28 14:54:09 +01:00
2010-11-11 11:34:27 +01:00
2012-01-26 21:23:53 +01:00
2009-06-18 14:40:03 -07:00
2010-05-07 17:13:04 -07:00
2009-03-17 15:38:59 -07:00
2012-03-05 14:55:39 +01:00
2011-12-05 14:28:37 +01:00
2009-08-21 17:00:02 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2010-09-17 15:36:40 -07:00
2011-10-10 06:57:01 +02:00
2011-04-18 16:40:21 -07:00
2011-05-02 14:18:53 +02:00
2011-05-02 14:18:53 +02:00
2011-05-02 17:24:48 +02:00
2011-05-02 14:18:53 +02:00
2011-03-15 14:17:23 -07:00
2011-07-06 14:44:38 -07:00
2010-06-29 12:12:59 +02:00
2009-02-13 13:36:47 +01:00
2009-06-20 15:40:00 -07:00
2009-02-11 14:54:09 -08:00
2011-03-04 10:26:36 +01:00
2010-08-11 08:43:49 +02:00
2009-06-18 14:40:03 -07:00
2011-08-12 20:46:24 -07:00
2012-03-24 10:08:39 -07:00
2008-10-22 22:55:23 -07:00
2009-11-23 17:09:59 -08:00
2010-02-10 17:47:18 -08:00
2012-01-06 12:10:42 -08:00
2008-10-22 22:55:23 -07:00
2009-01-29 14:16:51 +01:00
2012-01-06 14:02:26 -08:00
2012-01-09 13:08:28 -08:00
2011-07-21 20:41:54 +02:00
2012-03-05 09:20:08 +01:00
2010-11-01 15:38:34 -04:00
2010-06-07 17:27:11 -07:00
2010-10-26 16:52:08 -07:00
2009-05-05 19:10:18 -07:00
2011-01-13 17:32:44 -08:00
2011-06-05 21:30:33 +02:00
2009-02-13 11:35:01 -08:00
2011-01-13 17:32:44 -08:00
2009-02-13 11:35:01 -08:00
2011-03-18 11:44:01 +01:00
2011-12-18 09:14:18 +01:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2009-02-02 23:27:09 +05:30
2011-03-15 15:34:15 -07:00
2008-10-22 22:55:20 -07:00
2011-12-06 10:02:38 +01:00
2012-03-24 10:08:39 -07:00
2012-02-23 14:37:47 -07:00
2010-02-12 09:42:39 -08:00
2011-03-18 10:39:30 +01:00
2011-08-04 16:13:49 -07:00
2010-05-19 11:41:05 +03:00
2011-08-30 14:42:30 +03:00
2008-10-22 22:55:23 -07:00
2011-10-10 06:56:57 +02:00
2010-07-07 17:29:18 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2011-07-21 09:03:36 +02:00
2011-08-29 13:44:12 -07:00
2010-08-07 18:15:50 +02:00
2009-03-02 15:41:30 -08:00
2009-03-02 15:41:30 -08:00
2008-10-22 22:55:20 -07:00
2009-10-20 14:46:00 +09:00
2011-06-03 14:39:14 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2011-11-21 16:13:23 +08:00
2009-01-29 14:16:51 +01:00
2011-12-18 09:17:02 +01:00
2009-06-18 14:40:03 -07:00
2008-10-22 22:55:23 -07:00
2009-01-31 00:18:58 +05:30
2009-12-04 23:41:47 +01:00
2008-12-18 15:01:22 -08:00
2008-10-22 22:55:23 -07:00
2009-06-11 21:01:52 +02:00
2011-12-05 12:00:16 +01:00
2011-07-21 09:20:59 +02:00
2009-06-18 14:40:03 -07:00
2009-06-18 14:40:03 -07:00
2009-05-05 19:10:18 -07:00
2012-02-07 10:09:54 +01:00
2012-02-07 10:09:54 +01:00
2009-09-03 21:30:51 +02:00
2011-05-12 15:31:28 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-09-28 16:43:15 -07:00
2009-06-15 12:40:02 +02:00
2008-10-22 22:55:20 -07:00
2011-05-24 23:35:55 +02:00
2011-05-24 23:35:55 +02:00
2008-10-22 22:55:20 -07:00
2011-01-12 11:31:07 +02:00
2009-01-31 00:19:32 +05:30
2010-08-26 15:13:29 -07:00
2008-10-22 22:55:23 -07:00
2010-08-13 16:53:13 -07:00
2012-01-07 14:10:18 -08:00
2010-08-17 18:07:43 -07:00
2011-12-03 10:49:58 -08:00
2008-10-22 22:55:23 -07:00
2009-06-18 14:40:03 -07:00
2009-06-18 14:40:03 -07:00
2012-02-18 10:19:41 -08:00
2011-06-09 15:01:40 +02:00
2012-03-13 16:27:51 +01:00
2009-06-16 19:47:27 -07:00
2008-10-22 22:55:23 -07:00
2010-10-20 14:23:55 -07:00
2012-01-11 18:50:26 -08:00
2011-02-17 21:05:06 -08:00
2011-08-10 19:26:46 -05:00
2011-12-05 18:00:31 +01:00
2011-03-23 19:47:18 -07:00
2011-05-20 12:50:29 -07:00
2011-05-20 12:50:29 -07:00
2011-12-05 12:17:27 +01:00
2009-06-18 14:40:03 -07:00
2008-10-22 22:55:23 -07:00
2012-01-19 12:57:09 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2010-02-11 15:08:17 -08:00
2011-05-24 14:51:28 +02:00
2008-10-22 22:55:23 -07:00
2011-07-14 17:57:05 -07:00
2009-03-24 11:02:46 +02:00
2008-10-22 22:55:23 -07:00
2011-09-25 19:52:17 +03:00
2011-08-10 19:26:46 -05:00
2011-06-05 21:30:32 +02:00
2011-05-20 13:41:11 +02:00
2012-01-11 18:50:26 -08:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-06-15 12:40:02 +02:00
2010-08-06 16:25:13 -07:00