aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-25 12:11:02 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-25 12:12:22 -0400
commit8f8741ca5e55a35dafa35f4eac2b70b08fae997e (patch)
tree4f3d0d5f685a735d5d6265c1b3cafda71ff0683e /include
parent0a6a2daf1c7a30c3ca66a8ddb8fc4ff7820051e2 (diff)
parent6b16351acbd415e66ba16bf7d473ece1574cf0bc (diff)
Merge 3.5-rc4 into usb-linus
This is needed to sync up with the previous USB changes that were merged in Linus's branch. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/bug.h8
-rw-r--r--include/asm-generic/pgtable.h10
-rw-r--r--include/drm/drm_pciids.h4
-rw-r--r--include/linux/compiler-gcc.h6
-rw-r--r--include/linux/kmsg_dump.h45
-rw-r--r--include/linux/mm_types.h10
-rw-r--r--include/linux/mmc/sdhci-spear.h2
-rw-r--r--include/linux/mmc/sdio.h2
-rw-r--r--include/linux/nfs_fs_sb.h1
-rw-r--r--include/linux/pata_arasan_cf_data.h2
-rw-r--r--include/linux/pstore_ram.h2
-rw-r--r--include/linux/pxa2xx_ssp.h2
-rw-r--r--include/linux/spi/pxa2xx_spi.h2
-rw-r--r--include/linux/vga_switcheroo.h6
14 files changed, 82 insertions, 20 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
index 9f02005f217a..506ec19a3736 100644
--- a/include/asm-generic/bug.h
+++ b/include/asm-generic/bug.h
@@ -2,7 +2,6 @@
2#define _ASM_GENERIC_BUG_H 2#define _ASM_GENERIC_BUG_H
3 3
4#include <linux/compiler.h> 4#include <linux/compiler.h>
5#include <linux/kernel.h>
6 5
7#ifdef CONFIG_BUG 6#ifdef CONFIG_BUG
8 7
@@ -32,6 +31,9 @@ struct bug_entry {
32 31
33#endif /* CONFIG_GENERIC_BUG */ 32#endif /* CONFIG_GENERIC_BUG */
34 33
34#ifndef __ASSEMBLY__
35#include <linux/kernel.h>
36
35/* 37/*
36 * Don't use BUG() or BUG_ON() unless there's really no way out; one 38 * Don't use BUG() or BUG_ON() unless there's really no way out; one
37 * example might be detecting data structure corruption in the middle 39 * example might be detecting data structure corruption in the middle
@@ -61,7 +63,6 @@ struct bug_entry {
61 * to provide better diagnostics. 63 * to provide better diagnostics.
62 */ 64 */
63#ifndef __WARN_TAINT 65#ifndef __WARN_TAINT
64#ifndef __ASSEMBLY__
65extern __printf(3, 4) 66extern __printf(3, 4)
66void warn_slowpath_fmt(const char *file, const int line, 67void warn_slowpath_fmt(const char *file, const int line,
67 const char *fmt, ...); 68 const char *fmt, ...);
@@ -70,7 +71,6 @@ void warn_slowpath_fmt_taint(const char *file, const int line, unsigned taint,
70 const char *fmt, ...); 71 const char *fmt, ...);
71extern void warn_slowpath_null(const char *file, const int line); 72extern void warn_slowpath_null(const char *file, const int line);
72#define WANT_WARN_ON_SLOWPATH 73#define WANT_WARN_ON_SLOWPATH
73#endif
74#define __WARN() warn_slowpath_null(__FILE__, __LINE__) 74#define __WARN() warn_slowpath_null(__FILE__, __LINE__)
75#define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg) 75#define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg)
76#define __WARN_printf_taint(taint, arg...) \ 76#define __WARN_printf_taint(taint, arg...) \
@@ -203,4 +203,6 @@ extern void warn_slowpath_null(const char *file, const int line);
203# define WARN_ON_SMP(x) ({0;}) 203# define WARN_ON_SMP(x) ({0;})
204#endif 204#endif
205 205
206#endif /* __ASSEMBLY__ */
207
206#endif 208#endif
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
index 6f2b45a9b6bc..ff4947b7a976 100644
--- a/include/asm-generic/pgtable.h
+++ b/include/asm-generic/pgtable.h
@@ -484,6 +484,16 @@ static inline int pmd_none_or_trans_huge_or_clear_bad(pmd_t *pmd)
484 /* 484 /*
485 * The barrier will stabilize the pmdval in a register or on 485 * The barrier will stabilize the pmdval in a register or on
486 * the stack so that it will stop changing under the code. 486 * the stack so that it will stop changing under the code.
487 *
488 * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE,
489 * pmd_read_atomic is allowed to return a not atomic pmdval
490 * (for example pointing to an hugepage that has never been
491 * mapped in the pmd). The below checks will only care about
492 * the low part of the pmd with 32bit PAE x86 anyway, with the
493 * exception of pmd_none(). So the important thing is that if
494 * the low part of the pmd is found null, the high part will
495 * be also null or the pmd_none() check below would be
496 * confused.
487 */ 497 */
488#ifdef CONFIG_TRANSPARENT_HUGEPAGE 498#ifdef CONFIG_TRANSPARENT_HUGEPAGE
489 barrier(); 499 barrier();
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
index 81368ab6c611..a7aec391b7b7 100644
--- a/include/drm/drm_pciids.h
+++ b/include/drm/drm_pciids.h
@@ -1,7 +1,3 @@
1/*
2 This file is auto-generated from the drm_pciids.txt in the DRM CVS
3 Please contact dri-devel@lists.sf.net to add new cards to this list
4*/
5#define radeon_PCI_IDS \ 1#define radeon_PCI_IDS \
6 {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ 2 {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \
7 {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ 3 {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index e5834aa24b9e..6a6d7aefe12d 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -47,9 +47,9 @@
47 */ 47 */
48#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \ 48#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
49 !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) 49 !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
50# define inline inline __attribute__((always_inline)) 50# define inline inline __attribute__((always_inline)) notrace
51# define __inline__ __inline__ __attribute__((always_inline)) 51# define __inline__ __inline__ __attribute__((always_inline)) notrace
52# define __inline __inline __attribute__((always_inline)) 52# define __inline __inline __attribute__((always_inline)) notrace
53#else 53#else
54/* A lot of inline functions can cause havoc with function tracing */ 54/* A lot of inline functions can cause havoc with function tracing */
55# define inline inline notrace 55# define inline inline notrace
diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h
index 35f7237ec972..d6bd50110ec2 100644
--- a/include/linux/kmsg_dump.h
+++ b/include/linux/kmsg_dump.h
@@ -21,6 +21,7 @@
21 * is passed to the kernel. 21 * is passed to the kernel.
22 */ 22 */
23enum kmsg_dump_reason { 23enum kmsg_dump_reason {
24 KMSG_DUMP_UNDEF,
24 KMSG_DUMP_PANIC, 25 KMSG_DUMP_PANIC,
25 KMSG_DUMP_OOPS, 26 KMSG_DUMP_OOPS,
26 KMSG_DUMP_EMERG, 27 KMSG_DUMP_EMERG,
@@ -31,23 +32,37 @@ enum kmsg_dump_reason {
31 32
32/** 33/**
33 * struct kmsg_dumper - kernel crash message dumper structure 34 * struct kmsg_dumper - kernel crash message dumper structure
34 * @dump: The callback which gets called on crashes. The buffer is passed
35 * as two sections, where s1 (length l1) contains the older
36 * messages and s2 (length l2) contains the newer.
37 * @list: Entry in the dumper list (private) 35 * @list: Entry in the dumper list (private)
36 * @dump: Call into dumping code which will retrieve the data with
37 * through the record iterator
38 * @max_reason: filter for highest reason number that should be dumped
38 * @registered: Flag that specifies if this is already registered 39 * @registered: Flag that specifies if this is already registered
39 */ 40 */
40struct kmsg_dumper { 41struct kmsg_dumper {
41 void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason,
42 const char *s1, unsigned long l1,
43 const char *s2, unsigned long l2);
44 struct list_head list; 42 struct list_head list;
45 int registered; 43 void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason);
44 enum kmsg_dump_reason max_reason;
45 bool active;
46 bool registered;
47
48 /* private state of the kmsg iterator */
49 u32 cur_idx;
50 u32 next_idx;
51 u64 cur_seq;
52 u64 next_seq;
46}; 53};
47 54
48#ifdef CONFIG_PRINTK 55#ifdef CONFIG_PRINTK
49void kmsg_dump(enum kmsg_dump_reason reason); 56void kmsg_dump(enum kmsg_dump_reason reason);
50 57
58bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog,
59 char *line, size_t size, size_t *len);
60
61bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog,
62 char *buf, size_t size, size_t *len);
63
64void kmsg_dump_rewind(struct kmsg_dumper *dumper);
65
51int kmsg_dump_register(struct kmsg_dumper *dumper); 66int kmsg_dump_register(struct kmsg_dumper *dumper);
52 67
53int kmsg_dump_unregister(struct kmsg_dumper *dumper); 68int kmsg_dump_unregister(struct kmsg_dumper *dumper);
@@ -56,6 +71,22 @@ static inline void kmsg_dump(enum kmsg_dump_reason reason)