aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acpi_drivers.h2
-rw-r--r--include/drm/drmP.h35
-rw-r--r--include/drm/drm_mem_util.h65
-rw-r--r--include/drm/drm_pciids.h1
-rw-r--r--include/drm/ttm/ttm_bo_driver.h1
-rw-r--r--include/linux/amba/bus.h3
-rw-r--r--include/linux/amba/pl061.h2
-rw-r--r--include/linux/circ_buf.h4
-rw-r--r--include/linux/clockchips.h2
-rw-r--r--include/linux/delayacct.h1
-rw-r--r--include/linux/ext3_fs.h6
-rw-r--r--include/linux/ext3_fs_i.h2
-rw-r--r--include/linux/freezer.h7
-rw-r--r--include/linux/fscache-cache.h2
-rw-r--r--include/linux/fsnotify.h1
-rw-r--r--include/linux/gameport.h1
-rw-r--r--include/linux/io-mapping.h1
-rw-r--r--include/linux/ioport.h2
-rw-r--r--include/linux/jbd.h1
-rw-r--r--include/linux/jbd2.h1
-rw-r--r--include/linux/kfifo.h2
-rw-r--r--include/linux/libata.h1
-rw-r--r--include/linux/mmc/mmc.h1
-rw-r--r--include/linux/module.h25
-rw-r--r--include/linux/netfilter_ipv6.h1
-rw-r--r--include/linux/percpu.h31
-rw-r--r--include/linux/perf_event.h21
-rw-r--r--include/linux/rcupdate.h23
-rw-r--r--include/linux/reiserfs_xattr.h5
-rw-r--r--include/linux/security.h2
-rw-r--r--include/linux/sh_intc.h6
-rw-r--r--include/linux/skbuff.h6
-rw-r--r--include/linux/socket.h1
-rw-r--r--include/linux/spi/spi.h1
-rw-r--r--include/linux/sunrpc/bc_xprt.h5
-rw-r--r--include/linux/taskstats_kern.h1
-rw-r--r--include/linux/tracepoint.h2
-rw-r--r--include/linux/usb/gadget.h2
-rw-r--r--include/linux/wimax/debug.h1
-rw-r--r--include/net/9p/client.h2
-rw-r--r--include/net/ax25.h1
-rw-r--r--include/net/fib_rules.h1
-rw-r--r--include/net/ipx.h1
-rw-r--r--include/net/iucv/iucv.h1
-rw-r--r--include/net/netfilter/nf_conntrack_extend.h2
-rw-r--r--include/net/netlabel.h1
-rw-r--r--include/net/netrom.h1
-rw-r--r--include/net/sock.h1
-rw-r--r--include/net/x25.h1
-rw-r--r--include/net/xfrm.h1
-rw-r--r--include/pcmcia/ss.h6
-rw-r--r--include/scsi/libsas.h1
-rw-r--r--include/xen/xenbus.h1
53 files changed, 185 insertions, 113 deletions
diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h
index 3a4767c01c5f..4f7b44866b76 100644
--- a/include/acpi/acpi_drivers.h
+++ b/include/acpi/acpi_drivers.h
@@ -65,6 +65,8 @@
65#define ACPI_VIDEO_HID "LNXVIDEO" 65#define ACPI_VIDEO_HID "LNXVIDEO"
66#define ACPI_BAY_HID "LNXIOBAY" 66#define ACPI_BAY_HID "LNXIOBAY"
67#define ACPI_DOCK_HID "LNXDOCK" 67#define ACPI_DOCK_HID "LNXDOCK"
68/* Quirk for broken IBM BIOSes */
69#define ACPI_SMBUS_IBM_HID "SMBUSIBM"
68 70
69/* 71/*
70 * For fixed hardware buttons, we fabricate acpi_devices with HID 72 * For fixed hardware buttons, we fabricate acpi_devices with HID
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 4a3c4e441027..2f3b3a00b7a3 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -55,6 +55,7 @@
55#include <linux/mm.h> 55#include <linux/mm.h>
56#include <linux/cdev.h> 56#include <linux/cdev.h>
57#include <linux/mutex.h> 57#include <linux/mutex.h>
58#include <linux/slab.h>
58#if defined(__alpha__) || defined(__powerpc__) 59#if defined(__alpha__) || defined(__powerpc__)
59#include <asm/pgtable.h> /* For pte_wrprotect */ 60#include <asm/pgtable.h> /* For pte_wrprotect */
60#endif 61#endif
@@ -1545,39 +1546,7 @@ static __inline__ void drm_core_dropmap(struct drm_local_map *map)
1545{ 1546{
1546} 1547}
1547 1548
1548 1549#include "drm_mem_util.h"
1549static __inline__ void *drm_calloc_large(size_t nmemb, size_t size)
1550{
1551 if (size != 0 && nmemb > ULONG_MAX / size)
1552 return NULL;
1553
1554 if (size * nmemb <= PAGE_SIZE)
1555 return kcalloc(nmemb, size, GFP_KERNEL);
1556
1557 return __vmalloc(size * nmemb,
1558 GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO, PAGE_KERNEL);
1559}
1560
1561/* Modeled after cairo's malloc_ab, it's like calloc but without the zeroing. */
1562static __inline__ void *drm_malloc_ab(size_t nmemb, size_t size)
1563{
1564 if (size != 0 && nmemb > ULONG_MAX / size)
1565 return NULL;
1566
1567 if (size * nmemb <= PAGE_SIZE)
1568 return kmalloc(nmemb * size, GFP_KERNEL);
1569
1570 return __vmalloc(size * nmemb,
1571 GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL);
1572}
1573
1574static __inline void drm_free_large(void *ptr)
1575{
1576 if (!is_vmalloc_addr(ptr))
1577 return kfree(ptr);
1578
1579 vfree(ptr);
1580}
1581/*@}*/ 1550/*@}*/
1582 1551
1583#endif /* __KERNEL__ */ 1552#endif /* __KERNEL__ */
diff --git a/include/drm/drm_mem_util.h b/include/drm/drm_mem_util.h
new file mode 100644
index 000000000000..6bd325fedc87
--- /dev/null
+++ b/include/drm/drm_mem_util.h
@@ -0,0 +1,65 @@
1/*
2 * Copyright © 2008 Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 *
23 * Authors:
24 * Jesse Barnes <jbarnes@virtuousgeek.org>
25 *
26 */
27#ifndef _DRM_MEM_UTIL_H_
28#define _DRM_MEM_UTIL_H_
29
30#include <linux/vmalloc.h>
31
32static __inline__ void *drm_calloc_large(size_t nmemb, size_t size)
33{
34 if (size != 0 && nmemb > ULONG_MAX / size)
35 return NULL;
36
37 if (size * nmemb <= PAGE_SIZE)
38 return kcalloc(nmemb, size, GFP_KERNEL);
39
40 return __vmalloc(size * nmemb,
41 GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO, PAGE_KERNEL);
42}
43
44/* Modeled after cairo's malloc_ab, it's like calloc but without the zeroing. */
45static __inline__ void *drm_malloc_ab(size_t nmemb, size_t size)
46{
47 if (size != 0 && nmemb > ULONG_MAX / size)
48 return NULL;
49
50 if (size * nmemb <= PAGE_SIZE)
51 return kmalloc(nmemb * size, GFP_KERNEL);
52
53 return __vmalloc(size * nmemb,
54 GFP_KERNEL | __GFP_HIGHMEM, PAGE_KERNEL);
55}
56
57static __inline void drm_free_large(void *ptr)
58{
59 if (!is_vmalloc_addr(ptr))
60 return kfree(ptr);
61
62 vfree(ptr);
63}
64
65#endif
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
index 676104b7818c..04a6ebc27b96 100644
--- a/include/drm/drm_pciids.h
+++ b/include/drm/drm_pciids.h
@@ -410,6 +410,7 @@
410 {0x1002, 0x9712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ 410 {0x1002, 0x9712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
411 {0x1002, 0x9713, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ 411 {0x1002, 0x9713, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
412 {0x1002, 0x9714, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ 412 {0x1002, 0x9714, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
413 {0x1002, 0x9715, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
413 {0, 0, 0} 414 {0, 0, 0}
414 415
415#define r128_PCI_IDS \ 416#define r128_PCI_IDS \
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index e3f1b4a4b601..e929c27ede22 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -115,7 +115,6 @@ struct ttm_backend {
115 struct ttm_backend_func *func; 115 struct ttm_backend_func *func;
116}; 116};
117 117
118#define TTM_PAGE_FLAG_VMALLOC (1 << 0)
119#define TTM_PAGE_FLAG_USER (1 << 1) 118#define TTM_PAGE_FLAG_USER (1 << 1)
120#define TTM_PAGE_FLAG_USER_DIRTY (1 << 2) 119#define TTM_PAGE_FLAG_USER_DIRTY (1 << 2)
121#define TTM_PAGE_FLAG_WRITE (1 << 3) 120#define TTM_PAGE_FLAG_WRITE (1 << 3)
diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h
index 6816be6c3f77..8b1038607831 100644
--- a/include/linux/amba/bus.h
+++ b/include/linux/amba/bus.h
@@ -14,6 +14,9 @@
14#ifndef ASMARM_AMBA_H 14#ifndef ASMARM_AMBA_H
15#define ASMARM_AMBA_H 15#define ASMARM_AMBA_H
16 16
17#include <linux/device.h>
18#include <linux/resource.h>
19
17#define AMBA_NR_IRQS 2 20#define AMBA_NR_IRQS 2
18 21
19struct amba_device { 22struct amba_device {
diff --git a/include/linux/amba/pl061.h b/include/linux/amba/pl061.h
index b4fbd9862606..5ddd9ad4b19c 100644
--- a/include/linux/amba/pl061.h
+++ b/include/linux/amba/pl061.h
@@ -1,3 +1,5 @@
1#include <linux/types.h>
2
1/* platform data for the PL061 GPIO driver */ 3/* platform data for the PL061 GPIO driver */
2 4
3struct pl061_platform_data { 5struct pl061_platform_data {
diff --git a/include/linux/circ_buf.h b/include/linux/circ_buf.h
index a2ed0591fb19..90f2471dc6f2 100644
--- a/include/linux/circ_buf.h
+++ b/include/linux/circ_buf.h
@@ -1,3 +1,7 @@
1/*
2 * See Documentation/circular-buffers.txt for more information.
3 */
4
1#ifndef _LINUX_CIRC_BUF_H 5#ifndef _LINUX_CIRC_BUF_H
2#define _LINUX_CIRC_BUF_H 1 6#define _LINUX_CIRC_BUF_H 1
3 7
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h
index 0cf725bdd2a1..fc53492b6ad7 100644
--- a/include/linux/clockchips.h
+++ b/include/linux/clockchips.h
@@ -73,6 +73,7 @@ enum clock_event_nofitiers {
73 * @list: list head for the management code 73 * @list: list head for the management code
74 * @mode: operating mode assigned by the management code 74 * @mode: operating mode assigned by the management code
75 * @next_event: local storage for the next event in oneshot mode 75 * @next_event: local storage for the next event in oneshot mode
76 * @retries: number of forced programming retries
76 */ 77 */
77struct clock_event_device { 78struct clock_event_device {
78 const char *name; 79 const char *name;
@@ -93,6 +94,7 @@ struct clock_event_device {
93 struct list_head list; 94 struct list_head list;
94 enum clock_event_mode mode; 95 enum clock_event_mode mode;
95 ktime_t next_event; 96 ktime_t next_event;
97 unsigned long retries;
96}; 98};
97 99
98/* 100/*
diff --git a/include/linux/delayacct.h b/include/linux/delayacct.h
index 5076fe0c8a96..6cee17c22313 100644
--- a/include/linux/delayacct.h
+++ b/include/linux/delayacct.h
@@ -18,6 +18,7 @@
18#define _LINUX_DELAYACCT_H 18#define _LINUX_DELAYACCT_H
19 19
20#include <linux/sched.h> 20#include <linux/sched.h>
21#include <linux/slab.h>
21 22
22/* 23/*
23 * Per-task flags relevant to delay accounting 24 * Per-task flags relevant to delay accounting
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
index cac84b006667..5f494b465097 100644
--- a/include/linux/ext3_fs.h
+++ b/include/linux/ext3_fs.h
@@ -565,17 +565,17 @@ enum {
565 565
566static inline int ext3_test_inode_state(struct inode *inode, int bit) 566static inline int ext3_test_inode_state(struct inode *inode, int bit)
567{ 567{
568 return test_bit(bit, &EXT3_I(inode)->i_state); 568 return test_bit(bit, &EXT3_I(inode)->i_state_flags);
569} 569}
570 570
571static inline void ext3_set_inode_state(struct inode *inode, int bit) 571static inline void ext3_set_inode_state(struct inode *inode, int bit)
572{ 572{
573 set_bit(bit, &EXT3_I(inode)->i_state); 573 set_bit(bit, &EXT3_I(inode)->i_state_flags);
574} 574}
575 575
576static inline void ext3_clear_inode_state(struct inode *inode, int bit) 576static inline void ext3_clear_inode_state(struct inode *inode, int bit)
577{ 577{
578 clear_bit(bit, &EXT3_I(inode)->i_state); 578 clear_bit(bit, &EXT3_I(inode)->i_state_flags);
579} 579}
580#else 580#else
581/* Assume that user mode programs are passing in an ext3fs superblock, not 581/* Assume that user mode programs are passing in an ext3fs superblock, not
diff --git a/include/linux/ext3_fs_i.h b/include/linux/ext3_fs_i.h
index 7679acdb519a..f42c098aed8d 100644
--- a/include/linux/ext3_fs_i.h
+++ b/include/linux/ext3_fs_i.h
@@ -87,7 +87,7 @@ struct ext3_inode_info {
87 * near to their parent directory's inode. 87 * near to their parent directory's inode.
88 */ 88 */
89 __u32 i_block_group; 89 __u32 i_block_group;
90 unsigned long i_state; /* Dynamic state flags for ext3 */ 90 unsigned long i_state_flags; /* Dynamic state flags for ext3 */
91 91
92 /* block reservation info */ 92 /* block reservation info */
93 struct ext3_block_alloc_info *i_block_alloc_info; 93 struct ext3_block_alloc_info *i_block_alloc_info;
diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index 5a361f85cfec..da7e52b099f3 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -64,9 +64,12 @@ extern bool freeze_task(struct task_struct *p, bool sig_only);
64extern void cancel_freezing(struct task_struct *p); 64extern void cancel_freezing(struct task_struct *p);
65 65
66#ifdef CONFIG_CGROUP_FREEZER 66#ifdef CONFIG_CGROUP_FREEZER
67extern int cgroup_frozen(struct task_struct *task); 67extern int cgroup_freezing_or_frozen(struct task_struct *task);
68#else /* !CONFIG_CGROUP_FREEZER */ 68#else /* !CONFIG_CGROUP_FREEZER */
69static inline int cgroup_frozen(struct task_struct *task) { return 0; } 69static inline int cgroup_freezing_or_frozen(struct task_struct *task)
70{
71 return 0;
72}
70#endif /* !CONFIG_CGROUP_FREEZER */ 73#endif /* !CONFIG_CGROUP_FREEZER */
71 74
72/* 75/*
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h
index 7be0c6fbe880..c57db27ac861 100644
--- a/include/linux/fscache-cache.h
+++ b/include/linux/fscache-cache.h
@@ -105,7 +105,7 @@ struct fscache_operation {
105 /* operation releaser */ 105 /* operation releaser */
106 fscache_operation_release_t release; 106 fscache_operation_release_t release;
107 107
108#ifdef CONFIG_SLOW_WORK_PROC 108#ifdef CONFIG_SLOW_WORK_DEBUG
109 const char *name; /* operation name */ 109 const char *name; /* operation name */
110 const char *state; /* operation state */ 110 const char *state; /* operation state */
111#define fscache_set_op_name(OP, N) do { (OP)->name = (N); } while(0) 111#define fscache_set_op_name(OP, N) do { (OP)->name = (N); } while(0)
diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
index df8fd9a3b214..01755909ce81 100644
--- a/include/linux/fsnotify.h
+++ b/include/linux/fsnotify.h
@@ -15,6 +15,7 @@
15#include <linux/inotify.h> 15#include <linux/inotify.h>
16#include <linux/fsnotify_backend.h> 16#include <linux/fsnotify_backend.h>
17#include <linux/audit.h> 17#include <linux/audit.h>
18#include <linux/slab.h>
18 19
19/* 20/*
20 * fsnotify_d_instantiate - instantiate a dentry for inode 21 * fsnotify_d_instantiate - instantiate a dentry for inode
diff --git a/include/linux/gameport.h b/include/linux/gameport.h
index 48e68da097f6..361d1cc288d0 100644
--- a/include/linux/gameport.h
+++ b/include/linux/gameport.h
@@ -16,6 +16,7 @@
16#include <linux/mutex.h> 16#include <linux/mutex.h>
17#include <linux/device.h> 17#include <linux/device.h>
18#include <linux/timer.h> 18#include <linux/timer.h>
19#include <linux/slab.h>
19 20
20struct gameport { 21struct gameport {
21 22
diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h
index 97eb928b4924..25085ddd955f 100644
--- a/include/linux/io-mapping.h
+++ b/include/linux/io-mapping.h
@@ -19,6 +19,7 @@
19#define _LINUX_IO_MAPPING_H 19#define _LINUX_IO_MAPPING_H
20 20
21#include <linux/types.h> 21#include <linux/types.h>
22#include <linux/slab.h>
22#include <asm/io.h> 23#include <asm/io.h>
23#include <asm/page.h> 24#include <asm/page.h>
24#include <asm/iomap.h> 25#include <asm/iomap.h>
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 71ab79da7e7f..26fad187d661 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -112,12 +112,14 @@ struct resource_list {
112extern struct resource ioport_resource; 112extern struct resource ioport_resource;
113extern struct resource iomem_resource; 113extern struct resource iomem_resource;
114 114
115extern struct resource *request_resource_conflict(struct resource *root, struct resource *new);
115extern int request_resource(struct resource *root, struct resource *new); 116extern int request_resource(struct resource *root, struct resource *new);
116extern int release_resource(struct resource *new); 117extern int release_resource(struct resource *new);
117void release_child_resources(struct resource *new); 118void release_child_resources(struct resource *new);
118extern void reserve_region_with_split(struct resource *root, 119extern void reserve_region_with_split(struct resource *root,
119 resource_size_t start, resource_size_t end, 120 resource_size_t start, resource_size_t end,
120 const char *name); 121 const char *name);
122extern struct resource *insert_resource_conflict(struct resource *parent, struct resource *new);
121extern int insert_resource(struct resource *parent, struct resource *new); 123extern int insert_resource(struct resource *parent, struct resource *new);
122extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new); 124extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new);
123extern int allocate_resource(struct resource *root, struct resource *new, 125extern int allocate_resource(struct resource *root, struct resource *new,
diff --git a/include/linux/jbd.h b/include/linux/jbd.h
index f3aa59cb675d..516a2a27e87a 100644
--- a/include/linux/jbd.h
+++ b/include/linux/jbd.h
@@ -31,6 +31,7 @@
31#include <linux/mutex.h> 31#include <linux/mutex.h>
32#include <linux/timer.h> 32#include <linux/timer.h>
33#include <linux/lockdep.h> 33#include <linux/lockdep.h>
34#include <linux/slab.h>
34 35
35#define journal_oom_retry 1 36#define journal_oom_retry 1
36 37
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index 1ec876358180..a4d2e9f7088a 100644
--- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h
@@ -30,6 +30,7 @@
30#include <linux/bit_spinlock.h> 30#include <linux/bit_spinlock.h>
31#include <linux/mutex.h> 31#include <linux/mutex.h>
32#include <linux/timer.h> 32#include <linux/timer.h>
33#include <linux/slab.h>
33#endif 34#endif
34 35
35#define journal_oom_retry 1 36#define journal_oom_retry 1
diff --git a/include/linux/kfifo.h b/include/linux/kfifo.h
index bc0fc795bd35..ece0b1c33816 100644
--- a/include/linux/kfifo.h
+++ b/include/linux/kfifo.h
@@ -102,8 +102,6 @@ union { \
102 unsigned char name##kfifo_buffer[size]; \ 102 unsigned char name##kfifo_buffer[size]; \
103 struct kfifo name = __kfifo_initializer(size, name##kfifo_buffer) 103 struct kfifo name = __kfifo_initializer(size, name##kfifo_buffer)
104 104
105#undef __kfifo_initializer
106
107extern void kfifo_init(struct kfifo *fifo, void *buffer, 105extern void kfifo_init(struct kfifo *fifo, void *buffer,
108 unsigned int size); 106 unsigned int size);
109extern __must_check int kfifo_alloc(struct kfifo *fifo, unsigned int size, 107extern __must_check int kfifo_alloc(struct kfifo *fifo, unsigned int size,
diff --git a/include/linux/libata.h b/include/linux/libata.h
index f8ea71e6d0e2..b2f2003b92e5 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -146,6 +146,7 @@ enum {
146 ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */ 146 ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */
147 ATA_DFLAG_DUBIOUS_XFER = (1 << 16), /* data transfer not verified */ 147 ATA_DFLAG_DUBIOUS_XFER = (1 << 16), /* data transfer not verified */
148 ATA_DFLAG_NO_UNLOAD = (1 << 17), /* device doesn't support unload */ 148 ATA_DFLAG_NO_UNLOAD = (1 << 17), /* device doesn't support unload */
149 ATA_DFLAG_UNLOCK_HPA = (1 << 18), /* unlock HPA */
149 ATA_DFLAG_INIT_MASK = (1 << 24) - 1, 150 ATA_DFLAG_INIT_MASK = (1 << 24) - 1,
150 151
151 ATA_DFLAG_DETACH = (1 << 24), 152 ATA_DFLAG_DETACH = (1 << 24),
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h
index c02c8db73701..8a49cbf0376d 100644
--- a/include/linux/mmc/mmc.h
+++ b/include/linux/mmc/mmc.h
@@ -268,6 +268,7 @@ struct _mmc_csd {
268 268
269#define EXT_CSD_CARD_TYPE_26 (1<<0) /* Card can run at 26MHz */ 269#define EXT_CSD_CARD_TYPE_26 (1<<0) /* Card can run at 26MHz */
270#define EXT_CSD_CARD_TYPE_52 (1<<1) /* Card can run at 52MHz */ 270#define EXT_CSD_CARD_TYPE_52 (1<<1) /* Card can run at 52MHz */
271#define EXT_CSD_CARD_TYPE_MASK 0x3 /* Mask out reserved and DDR bits */
271 272
272#define EXT_CSD_BUS_WIDTH_1 0 /* Card is in 1 bit mode */ 273#define EXT_CSD_BUS_WIDTH_1 0 /* Card is in 1 bit mode */
273#define EXT_CSD_BUS_WIDTH_4 1 /* Card is in 4 bit mode */ 274#define EXT_CSD_BUS_WIDTH_4 1 /* Card is in 4 bit mode */
diff --git a/include/linux/module.h b/include/linux/module.h
index 5e869ffd34aa..515d53ae6a79 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -330,8 +330,11 @@ struct module
330 struct module_notes_attrs *notes_attrs; 330 struct module_notes_attrs *notes_attrs;
331#endif 331#endif
332 332
333#ifdef CONFIG_SMP
333 /* Per-cpu data. */ 334 /* Per-cpu data. */
334 void *percpu; 335 void __percpu *percpu;
336 unsigned int percpu_size;
337#endif
335 338
336 /* The command line arguments (may be mangled). People like 339 /* The command line arguments (may be mangled). People like
337 keeping pointers to this stuff */ 340 keeping pointers to this stuff */
@@ -365,7 +368,8 @@ struct module
365 void (*exit)(void); 368 void (*exit)(void);
366 369
367 struct module_ref { 370 struct module_ref {
368 int count; 371 unsigned int incs;
372 unsigned int decs;
369 } __percpu *refptr; 373 } __percpu *refptr;
370#endif 374#endif
371 375
@@ -392,6 +396,7 @@ static inline int module_is_live(struct module *mod)
392struct module *__module_text_address(unsigned long addr); 396struct module *__module_text_address(unsigned long addr);
393struct module *__module_address(unsigned long addr); 397struct module *__module_address(unsigned long addr);
394bool is_module_address(unsigned long addr); 398bool is_module_address(unsigned long addr);
399bool is_module_percpu_address(unsigned long addr);
395bool is_module_text_address(unsigned long addr); 400bool is_module_text_address(unsigned long addr);
396 401
397static inline int within_module_core(unsigned long addr, struct module *mod) 402static inline int within_module_core(unsigned long addr, struct module *mod)
@@ -459,9 +464,9 @@ static inline void __module_get(struct module *module)
459{ 464{
460 if (module) { 465 if (module) {
461 preempt_disable(); 466 preempt_disable();
462 __this_cpu_inc(module->refptr->count); 467 __this_cpu_inc(module->refptr->incs);
463 trace_module_get(module, _THIS_IP_, 468 trace_module_get(module, _THIS_IP_,
464 __this_cpu_read(module->refptr->count)); 469 __this_cpu_read(module->refptr->incs));
465 preempt_enable(); 470 preempt_enable();
466 } 471 }
467} 472}
@@ -474,11 +479,10 @@ static inline int try_module_get(struct module *module)
474 preempt_disable(); 479 preempt_disable();
475 480
476 if (likely(module_is_live(module))) { 481 if (likely(module_is_live(module))) {
477 __this_cpu_inc(module->refptr->count); 482 __this_cpu_inc(module->refptr->incs);
478 trace_module_get(module, _THIS_IP_, 483 trace_module_get(module, _THIS_IP_,
479 __this_cpu_read(module->refptr->count)); 484 __this_cpu_read(module->refptr->incs));
480 } 485 } else
481 else
482 ret = 0; 486 ret = 0;
483 487
484 preempt_enable(); 488 preempt_enable();
@@ -563,6 +567,11 @@ static inline bool is_module_address(unsigned long addr)
563 return false; 567 return false;
564} 568}
565 569
570static inline bool is_module_percpu_address(unsigned long addr)
571{
572 return false;
573}
574
566static inline bool is_module_text_address(unsigned long addr) 575static inline bool is_module_text_address(unsigned long addr)
567{ 576{
568 return false; 577 return false;
diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h
index d654873aa25a..1f7e300094cd 100644
--- a/include/linux/netfilter_ipv6.h
+++ b/include/linux/netfilter_ipv6.h
@@ -59,6 +59,7 @@
59enum nf_ip6_hook_priorities { 59enum nf_ip6_hook_priorities {
60 NF_IP6_PRI_FIRST = INT_MIN, 60 NF_IP6_PRI_FIRST = INT_MIN,
61 NF_IP6_PRI_CONNTRACK_DEFRAG = -400, 61 NF_IP6_PRI_CONNTRACK_DEFRAG = -400,
62 NF_IP6_PRI_RAW = -300,
62 NF_IP6_PRI_SELINUX_FIRST = -225, 63 NF_IP6_PRI_SELINUX_FIRST = -225,
63 NF_IP6_PRI_CONNTRACK = -200, 64 NF_IP6_PRI_CONNTRACK = -200,
64 NF_IP6_PRI_MANGLE = -150, 65 NF_IP6_PRI_MANGLE = -150,
diff --git a/include/linux/percpu.h b/include/linux/percpu.h
index a93e5bfdccb8..d3a38d687104 100644
--- a/include/linux/percpu.h
+++ b/include/linux/percpu.h
@@ -2,10 +2,10 @@
2#define __LINUX_PERCPU_H 2#define __LINUX_PERCPU_H
3 3
4#include <linux/preempt.h> 4#include <linux/preempt.h>
5#include <linux/slab.h> /* For kmalloc() */
6#include <linux/smp.h> 5#include <linux/smp.h>
7#include <linux/cpumask.h> 6#include <linux/cpumask.h>
8#include <linux/pfn.h> 7#include <linux/pfn.h>
8#include <linux/init.h>
9 9
10#include <asm/percpu.h> 10#include <asm/percpu.h>
11 11
@@ -135,9 +135,7 @@ extern int __init pcpu_page_first_chunk(size_t reserved_size,
135#define per_cpu_ptr(ptr, cpu) SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))) 135#define per_cpu_ptr(ptr, cpu) SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)))
136 136
137extern void __percpu *__alloc_reserved_percpu(size_t size, size_t align); 137extern void __percpu *__alloc_reserved_percpu(size_t size, size_t align);
138extern void __percpu *__alloc_percpu(size_t size, size_t align); 138extern bool is_kernel_percpu_address(unsigned long addr);
139extern void free_percpu(void __percpu *__pdata);
140extern phys_addr_t per_cpu_ptr_to_phys(void *addr);
141 139
142#ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA 140#ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA
143extern void __init setup_per_cpu_areas(void); 141extern void __init setup_per_cpu_areas(void);
@@ -147,25 +145,10 @@ extern void __init setup_per_cpu_areas(void);
147 145
148#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); }) 146#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
149 147
150static inline void __percpu *__alloc_percpu(size_t size, size_t align) 148/* can't distinguish from other static vars, always false */
149static inline bool is_kernel_percpu_address(unsigned long addr)
151{ 150{
152 /* 151 return false;
153 * Can't easily make larger alignment work with kmalloc. WARN
154 * on it. Larger alignment should only be used for module
155 * percpu sections on SMP for which this path isn't used.
156 */
157 WARN_ON_ONCE(align > SMP_CACHE_BYTES);
158 return kzalloc(size, GFP_KERNEL);
159}
160
161static inline void free_percpu(void __percpu *p)
162{
163 kfree(p);
164}
165
166static inline phys_addr_t per_cpu_ptr_to_phys(void *addr)
167{
168 return __pa(addr);
169} 152}
170 153
171static inline void __init setup_per_cpu_areas(void) { } 154static inline void __init setup_per_cpu_areas(void) { }
@@ -177,6 +160,10 @@ static inline void *pcpu_lpage_remapped(void *kaddr)
177 160
178#endif /* CONFIG_SMP */ 161#endif /* CONFIG_SMP */
179 162
163extern void __percpu *__alloc_percpu(size_t size, size_t align);
164extern void free_percpu(void __percpu *__pdata);
165extern phys_addr_t per_cpu_ptr_to_phys(void *addr);
166
180#define alloc_percpu(type) \ 167#define alloc_percpu(type) \
181 (typeof(type) __percpu *)__alloc_percpu(sizeof(type), __alignof__(type)) 168 (typeof(type) __percpu *)__alloc_percpu(sizeof(type), __alignof__(type))
182 169
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 95477038a72a..c8e375440403 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -842,13 +842,6 @@ extern atomic_t perf_swevent_enabled[PERF_COUNT_SW_MAX];
842 842
843extern void __perf_sw_event(u32, u64, int, struct pt_regs *, u64); 843extern void __perf_sw_event(u32, u64, int, struct pt_regs *, u64);
844 844
845static inline void
846perf_sw_event(u32 event_id, u64 nr, int nmi, struct pt_regs *regs, u64 addr)
847{
848 if (atomic_read(&perf_swevent_enabled[event_id]))
849 __perf_sw_event(event_id, nr, nmi, regs, addr);
850}
851
852extern void 845extern void
853perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int skip); 846perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int skip);
854 847
@@ -887,6 +880,20 @@ static inline void perf_fetch_caller_regs(struct pt_regs *regs, int skip)
887 return perf_arch_fetch_caller_regs(regs, ip, skip); 880 return perf_arch_fetch_caller_regs(regs, ip, skip);
888} 881}
889 882
883static inline void
884perf_sw_event(u32 event_id, u64 nr, int nmi, struct pt_regs *regs, u64 addr)
885{
886 if (atomic_read(&perf_swevent_enabled[event_id])) {
887 struct pt_regs hot_regs;
888
889 if (!regs) {
890 perf_fetch_caller_regs(&hot_regs, 1);
891 regs = &hot_regs;
892 }
893 __perf_sw_event(event_id, nr, nmi, regs, addr);
894 }
895}
896
890extern void __perf_event_mmap(struct vm_area_struct *vma); 897extern void __perf_event_mmap(struct vm_area_struct *vma);
891 898
892static inline void perf_event_mmap(struct vm_area_struct *vma) 899static inline void perf_event_mmap(struct vm_area_struct *vma)
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 3024050c82a1..872a98e13d6a 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -123,22 +123,11 @@ static inline int rcu_read_lock_held(void)
123 return lock_is_held(&rcu_lock_map); 123 return lock_is_held(&rcu_lock_map);
124} 124}
125 125
126/** 126/*
127 * rcu_read_lock_bh_held - might we be in RCU-bh read-side critical section? 127 * rcu_read_lock_bh_held() is defined out of line to avoid #include-file
128 * 128 * hell.
129 * If CONFIG_PROVE_LOCKING is selected and enabled, returns nonzero iff in
130 * an RCU-bh read-side critical section. In absence of CONFIG_PROVE_LOCKING,
131 * this assumes we are in an RCU-bh read-side critical section unless it can
132 * prove otherwise.
133 *
134 * Check rcu_scheduler_active to prevent false positives during boot.
135 */ 129 */
136static inline int rcu_read_lock_bh_held(void) 130extern int rcu_read_lock_bh_held(void);
137{
138 if (!debug_lockdep_rcu_enabled())
139 return 1;
140 return lock_is_held(&rcu_bh_lock_map);
141}
142 131
143/** 132/**
144 * rcu_read_lock_sched_held - might we be in RCU-sched read-side critical section? 133 * rcu_read_lock_sched_held - might we be in RCU-sched read-side critical section?
@@ -160,7 +149,7 @@ static inline int rcu_read_lock_sched_held(void)
160 return 1; 149 return 1;
161 if (debug_locks) 150 if (debug_locks)
162 lockdep_opinion = lock_is_held(&rcu_sched_lock_map); 151 lockdep_opinion = lock_is_held(&rcu_sched_lock_map);
163 return lockdep_opinion || preempt_count() != 0; 152 return lockdep_opinion || preempt_count() != 0 || irqs_disabled();
164} 153}
165#else /* #ifdef CONFIG_PREEMPT */ 154#else /* #ifdef CONFIG_PREEMPT */
166static inline int rcu_read_lock_sched_held(void) 155static inline int rcu_read_lock_sched_held(void)
@@ -191,7 +180,7 @@ static inline int rcu_read_lock_bh_held(void)
191#ifdef CONFIG_PREEMPT 180#ifdef CONFIG_PREEMPT
192static inline int rcu_read_lock_sched_held(void) 181static inline int rcu_read_lock_sched_held(void)
193{ 182{
194 return !rcu_scheduler_active || preempt_count() != 0; 183 return !rcu_scheduler_active || preempt_count() != 0 || irqs_disabled();
195} 184}
196#else /* #ifdef CONFIG_PREEMPT */ 185#else /* #ifdef CONFIG_PREEMPT */
197static inline int rcu_read_lock_sched_held(void) 186static inline int rcu_read_lock_sched_held(void)
diff --git a/include/linux/reiserfs_xattr.h b/include/linux/reiserfs_xattr.h
index 99928dce37ea..7fa02b4af838 100644
--- a/include/linux/reiserfs_xattr.h
+++ b/include/linux/reiserfs_xattr.h
@@ -70,6 +70,11 @@ int reiserfs_security_write(struct reiserfs_transaction_handle *th,
70void reiserfs_security_free(struct reiserfs_security_handle *sec); 70void reiserfs_security_free(struct reiserfs_security_handle *sec);
71#endif 71#endif
72 72
73static inline int reiserfs_xattrs_initialized(struct super_block *sb)
74{
75 return REISERFS_SB(sb)->priv_root != NULL;
76}
77
73#define xattr_size(size) ((size) + sizeof(struct reiserfs_xattr_header)) 78#define xattr_size(size) ((size) + sizeof(struct reiserfs_xattr_header))
74static inline loff_t reiserfs_xattr_nblocks(struct inode *inode, loff_t size) 79static inline loff_t reiserfs_xattr_nblocks(struct inode *inode, loff_t size)
75{ 80{
diff --git a/include/linux/security.h b/include/linux/security.h
index 233d20b52c1b..3158dd982d27 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -33,7 +33,7 @@
33#include <linux/sched.h> 33#include <linux/sched.h>
34#include <linux/key.h> 34#include <linux/key.h>
35#include <linux/xfrm.h> 35#include <linux/xfrm.h>
36#include <linux/gfp.h> 36#include <linux/slab.h>
37#include <net/flow.h> 37#include <net/flow.h>
38 38
39/* Maximum number of letters for an LSM name string */ 39/* Maximum number of letters for an LSM name string */
diff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h
index 51d288d8ac88..01d8168c5a1b 100644
--- a/include/linux/sh_intc.h
+++ b/include/linux/sh_intc.h
@@ -1,6 +1,8 @@
1#ifndef __SH_INTC_H 1#ifndef __SH_INTC_H
2#define __SH_INTC_H 2#define __SH_INTC_H
3 3
4#include <linux/ioport.h>
5
4typedef unsigned char intc_enum; 6typedef unsigned char intc_enum;
5 7
6struct intc_vect { 8struct intc_vect {
@@ -71,6 +73,8 @@ struct intc_hw_desc {
71 73
72struct intc_desc { 74struct intc_desc {
73 char *name; 75 char *name;
76 struct resource *resource;
77 unsigned int num_resources;
74 intc_enum force_enable; 78 intc_enum force_enable;
75 intc_enum force_disable; 79 intc_enum force_disable;
76 struct intc_hw_desc hw; 80 struct intc_hw_desc hw;
@@ -92,7 +96,7 @@ struct intc_desc symbol __initdata = { \
92 prio_regs, sense_regs, ack_regs), \ 96 prio_regs, sense_regs, ack_regs), \
93} 97}
94 98
95void __init register_intc_controller(struct intc_desc *desc); 99int __init register_intc_controller(struct intc_desc *desc);
96int intc_set_priority(unsigned int irq, unsigned int prio); 100int intc_set_priority(unsigned int irq, unsigned int prio);
97 101
98int reserve_irq_vector(unsigned int irq); 102int reserve_irq_vector(unsigned int irq);
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 03f816a9b659..124f90cd5a38 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -190,9 +190,6 @@ struct skb_shared_info {
190 atomic_t dataref; 190 atomic_t dataref;
191 unsigned short nr_frags; 191 unsigned short nr_frags;
192 unsigned short gso_size; 192 unsigned short gso_size;
193#ifdef CONFIG_HAS_DMA
194 dma_addr_t dma_head;
195#endif
196 /* Warning: this field is not always filled in (UFO)! */ 193 /* Warning: this field is not always filled in (UFO)! */
197 unsigned short gso_segs; 194 unsigned short gso_segs;
198 unsigned short gso_type; 195 unsigned short gso_type;
@@ -201,9 +198,6 @@ struct skb_shared_info {
201 struct sk_buff *frag_list; 198 struct sk_buff *frag_list;
202 struct skb_shared_hwtstamps hwtstamps; 199 struct skb_shared_hwtstamps hwtstamps;
203 skb_frag_t frags[MAX_SKB_FRAGS]; 200 skb_frag_t frags[MAX_SKB_FRAGS];
204#ifdef CONFIG_HAS_DMA
205 dma_addr_t dma_maps[MAX_SKB_FRAGS];
206#endif
207 /* Intermediate layers must ensure that destructor_arg 201 /* Intermediate layers must ensure that destructor_arg
208 * remains valid until skb destructor */ 202 * remains valid until skb destructor */
209 void * destructor_arg; 203 void * destructor_arg;
diff --git a/include/linux/socket.h b/include/linux/socket.h
index 7b3aae2052a6..354cc5617f8b 100644
--- a/include/linux/socket.h
+++ b/include/linux/socket.h
@@ -255,6 +255,7 @@ struct ucred {
255#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */ 255#define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */
256#define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */ 256#define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */
257#define MSG_MORE 0x8000 /* Sender will send more */ 257#define MSG_MORE 0x8000 /* Sender will send more */
258#define MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */
258 259
259#define MSG_EOF MSG_FIN 260#define MSG_EOF MSG_FIN
260 261
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index 97b60b37f445..af56071b06f9 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -21,6 +21,7 @@
21 21
22#include <linux/device.h> 22#include <linux/device.h>
23#include <linux/mod_devicetable.h> 23#include <linux/mod_devicetable.h>
24#include <linux/slab.h>
24 25
25/* 26/*
26 * INTERFACES between SPI master-side drivers and SPI infrastructure. 27 * INTERFACES between SPI master-side drivers and SPI infrastructure.
diff --git a/include/linux/sunrpc/bc_xprt.h b/include/linux/sunrpc/bc_xprt.h
index d7152b451e21..7c91260c44a9 100644
--- a/include/linux/sunrpc/bc_xprt.h
+++ b/include/linux/sunrpc/bc_xprt.h
@@ -36,7 +36,6 @@ struct rpc_rqst *xprt_alloc_bc_request(struct rpc_xprt *xprt);
36void xprt_free_bc_request(struct rpc_rqst *req); 36void xprt_free_bc_request(struct rpc_rqst *req);
37int xprt_setup_backchannel(struct rpc_xprt *, unsigned int min_reqs); 37int xprt_setup_backchannel(struct rpc_xprt *, unsigned int min_reqs);
38void xprt_destroy_backchannel(struct rpc_xprt *, int max_reqs); 38void xprt_destroy_backchannel(struct rpc_xprt *, int max_reqs);
39void bc_release_request(struct rpc_task *);
40int bc_send(struct rpc_rqst *req); 39int bc_send(struct rpc_rqst *req);
41 40
42/* 41/*
@@ -59,6 +58,10 @@ static inline int svc_is_backchannel(const struct svc_rqst *rqstp)
59{ 58{
60 return 0; 59 return 0;
61} 60}
61
62static inline void xprt_free_bc_request(struct rpc_rqst *req)
63{
64}
62#endif /* CONFIG_NFS_V4_1 */ 65#endif /* CONFIG_NFS_V4_1 */
63#endif /* _LINUX_SUNRPC_BC_XPRT_H */ 66#endif /* _LINUX_SUNRPC_BC_XPRT_H */
64 67
diff --git a/include/linux/taskstats_kern.h b/include/linux/taskstats_kern.h
index b6523c1427ce..58de6edf751f 100644
--- a/include/linux/taskstats_kern.h
+++ b/include/linux/taskstats_kern.h
@@ -9,6 +9,7 @@
9 9
10#include <linux/taskstats.h> 10#include <linux/taskstats.h>
11#include <linux/sched.h> 11#include <linux/sched.h>
12#include <linux/slab.h>
12 13
13#ifdef CONFIG_TASKSTATS 14#ifdef CONFIG_TASKSTATS
14extern struct kmem_cache *taskstats_cache; 15extern struct kmem_cache *taskstats_cache;
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
index f59604ed0ec6..78b4bd3be496 100644
--- a/include/linux/tracepoint.h
+++ b/include/linux/tracepoint.h
@@ -49,7 +49,7 @@ struct tracepoint {
49 void **it_func; \ 49 void **it_func; \
50 \ 50 \
51 rcu_read_lock_sched_notrace(); \ 51 rcu_read_lock_sched_notrace(); \
52 it_func = rcu_dereference((tp)->funcs); \ 52 it_func = rcu_dereference_sched((tp)->funcs); \
53 if (it_func) { \ 53 if (it_func) { \
54 do { \ 54 do { \
55 ((void(*)(proto))(*it_func))(args); \ 55 ((void(*)(proto))(*it_func))(args); \
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index bbf45d500b6d..f4b7ca516cdd 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -15,6 +15,8 @@
15#ifndef __LINUX_USB_GADGET_H 15#ifndef __LINUX_USB_GADGET_H
16#define __LINUX_USB_GADGET_H 16#define __LINUX_USB_GADGET_H
17 17
18#include <linux/slab.h>
19
18struct usb_ep; 20struct usb_ep;
19 21
20/** 22/**
diff --git a/include/linux/wimax/debug.h b/include/linux/wimax/debug.h
index db8096e88533..57031b4d12f2 100644
--- a/include/linux/wimax/debug.h
+++ b/include/linux/wimax/debug.h
@@ -155,6 +155,7 @@
155 155
156#include <linux/types.h> 156#include <linux/types.h>
157#include <linux/device.h> 157#include <linux/device.h>
158#include <linux/slab.h>
158 159
159 160
160/* Backend stuff */ 161/* Backend stuff */
diff --git a/include/net/9p/client.h b/include/net/9p/client.h
index f076dfa75ae8..4f3760afc20f 100644
--- a/include/net/9p/client.h
+++ b/include/net/9p/client.h
@@ -54,6 +54,7 @@ enum p9_proto_versions{
54 54
55enum p9_trans_status { 55enum p9_trans_status {
56 Connected, 56 Connected,
57 BeginDisconnect,
57 Disconnected, 58 Disconnected,
58 Hung, 59 Hung,
59}; 60};
@@ -198,6 +199,7 @@ int p9_client_version(struct p9_client *);
198struct p9_client *p9_client_create(const char *dev_name, char *options); 199struct p9_client *p9_client_create(const char *dev_name, char *options);
199void p9_client_destroy(struct p9_client *clnt); 200void p9_client_destroy(struct p9_client *clnt);
200void p9_client_disconnect(struct p9_client *clnt); 201void p9_client_disconnect(struct p9_client *clnt);
202void p9_client_begin_disconnect(struct p9_client *clnt);
201struct p9_fid *p9_client_attach(struct p9_client *clnt, struct p9_fid *afid, 203struct p9_fid *p9_client_attach(struct p9_client *clnt, struct p9_fid *afid,
202 char *uname, u32 n_uname, char *aname); 204 char *uname, u32 n_uname, char *aname);
203struct p9_fid *p9_client_auth(struct p9_client *clnt, char *uname, 205struct p9_fid *p9_client_auth(struct p9_client *clnt, char *uname,
diff --git a/include/net/ax25.h b/include/net/ax25.h
index 717e2192d521..206d22297ac3 100644
--- a/include/net/ax25.h
+++ b/include/net/ax25.h
@@ -10,6 +10,7 @@
10#include <linux/spinlock.h> 10#include <linux/spinlock.h>
11#include <linux/timer.h> 11#include <linux/timer.h>
12#include <linux/list.h> 12#include <linux/list.h>
13#include <linux/slab.h>
13#include <asm/atomic.h> 14#include <asm/atomic.h>
14 15
15#define AX25_T1CLAMPLO 1 16#define AX25_T1CLAMPLO 1
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h
index c07ac9650ebc..c49086d2bc7d 100644
--- a/include/net/fib_rules.h
+++ b/include/net/fib_rules.h
@@ -2,6 +2,7 @@
2#define __NET_FIB_RULES_H 2#define __NET_FIB_RULES_H
3 3
4#include <linux/types.h> 4#include <linux/types.h>
5#include <linux/slab.h>
5#include <linux/netdevice.h> 6#include <linux/netdevice.h>
6#include <linux/fib_rules.h> 7#include <linux/fib_rules.h>
7#include <net/flow.h> 8#include <net/flow.h>
diff --git a/include/net/ipx.h b/include/net/ipx.h
index a14121dd1932..ef51a668ba19 100644
--- a/include/net/ipx.h
+++ b/include/net/ipx.h
@@ -13,6 +13,7 @@
13#include <net/datalink.h> 13#include <net/datalink.h>
14#include <linux/ipx.h> 14#include <linux/ipx.h>
15#include <linux/list.h> 15#include <linux/list.h>
16#include <linux/slab.h>
16 17
17struct ipx_address { 18struct ipx_address {
18 __be32 net; 19 __be32 net;
diff --git a/include/net/iucv/iucv.h b/include/net/iucv/iucv.h
index 5e310c8d8e2f..205a3360156e 100644
--- a/include/net/iucv/iucv.h
+++ b/include/net/iucv/iucv.h
@@ -28,6 +28,7 @@
28 */ 28 */
29 29
30#include <linux/types.h> 30#include <linux/types.h>
31#include <linux/slab.h>
31#include <asm/debug.h> 32#include <asm/debug.h>
32 33
33/* 34/*
diff --git a/include/net/netfilter/nf_conntrack_extend.h b/include/net/netfilter/nf_conntrack_extend.h
index 2d2a1f9a61d8..32d15bd6efa3 100644
--- a/include/net/netfilter/nf_conntrack_extend.h
+++ b/include/net/netfilter/nf_conntrack_extend.h
@@ -1,6 +1,8 @@
1#ifndef _NF_CONNTRACK_EXTEND_H 1#ifndef _NF_CONNTRACK_EXTEND_H
2#define _NF_CONNTRACK_EXTEND_H 2#define _NF_CONNTRACK_EXTEND_H
3 3
4#include <linux/slab.h>
5
4#include <net/netfilter/nf_conntrack.h> 6#include <net/netfilter/nf_conntrack.h>
5 7
6enum nf_ct_ext_id { 8enum nf_ct_ext_id {
diff --git a/include/net/netlabel.h b/include/net/netlabel.h
index 60ebbc1fef46..9db401a8b4d9 100644
--- a/include/net/netlabel.h
+++ b/include/net/netlabel.h
@@ -31,6 +31,7 @@
31#define _NETLABEL_H 31#define _NETLABEL_H
32 32
33#include <linux/types.h> 33#include <linux/types.h>
34#include <linux/slab.h>
34#include <linux/net.h> 35#include <linux/net.h>
35#include <linux/skbuff.h> 36#include <linux/skbuff.h>
36#include <linux/in.h> 37#include <linux/in.h>
diff --git a/include/net/netrom.h b/include/net/netrom.h
index ab170a60e7d3..f0793c1cb5f8 100644
--- a/include/net/netrom.h
+++ b/include/net/netrom.h
@@ -9,6 +9,7 @@
9 9
10#include <linux/netrom.h> 10#include <linux/netrom.h>
11#include <linux/list.h> 11#include <linux/list.h>
12#include <linux/slab.h>
12#include <net/sock.h> 13#include <net/sock.h>
13 14
14#define NR_NETWORK_LEN 15 15#define NR_NETWORK_LEN 15
diff --git a/include/net/sock.h b/include/net/sock.h
index 092b0551e77f..b4603cd54fcd 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -51,6 +51,7 @@
51#include <linux/skbuff.h> /* struct sk_buff */ 51#include <linux/skbuff.h> /* struct sk_buff */
52#include <linux/mm.h> 52#include <linux/mm.h>
53#include <linux/security.h> 53#include <linux/security.h>
54#include <linux/slab.h>
54 55
55#include <linux/filter.h> 56#include <linux/filter.h>
56#include <linux/rculist_nulls.h> 57#include <linux/rculist_nulls.h>
diff --git a/include/net/x25.h b/include/net/x25.h
index 9baa07dc7d17..15ef9624ab75 100644
--- a/include/net/x25.h
+++ b/include/net/x25.h
@@ -10,6 +10,7 @@
10#ifndef _X25_H 10#ifndef _X25_H
11#define _X25_H 11#define _X25_H
12#include <linux/x25.h> 12#include <linux/x25.h>
13#include <linux/slab.h>
13#include <net/sock.h> 14#include <net/sock.h>
14 15
15#define X25_ADDR_LEN 16 16#define X25_ADDR_LEN 16
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index d74e080ba6c9..ac52f33f3e4a 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -12,6 +12,7 @@
12#include <linux/in6.h> 12#include <linux/in6.h>
13#include <linux/mutex.h> 13#include <linux/mutex.h>
14#include <linux/audit.h> 14#include <linux/audit.h>
15#include <linux/slab.h>
15 16
16#include <net/sock.h> 17#include <net/sock.h>
17#include <net/dst.h> 18#include <net/dst.h>
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index 32896a773910..2e488b60bc76 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -277,12 +277,6 @@ extern struct pccard_resource_ops pccard_nonstatic_ops;
277#endif 277#endif
278 278
279 279
280/* socket drivers are expected to use these callbacks in their .drv struct */
281extern int pcmcia_socket_dev_suspend(struct device *dev);
282extern void pcmcia_socket_dev_early_resume(struct device *dev);
283extern void pcmcia_socket_dev_late_resume(struct device *dev);
284extern int pcmcia_socket_dev_resume(struct device *dev);
285
286/* socket drivers use this callback in their IRQ handler */ 280/* socket drivers use this callback in their IRQ handler */
287extern void pcmcia_parse_events(struct pcmcia_socket *socket, 281extern void pcmcia_parse_events(struct pcmcia_socket *socket,
288 unsigned int events); 282 unsigned int events);
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index 9eaa3f05f954..3b586859669c 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -36,6 +36,7 @@
36#include <scsi/scsi_cmnd.h> 36#include <scsi/scsi_cmnd.h>
37#include <scsi/scsi_transport_sas.h> 37#include <scsi/scsi_transport_sas.h>
38#include <linux/scatterlist.h> 38#include <linux/scatterlist.h>
39#include <linux/slab.h>
39 40
40struct block_device; 41struct block_device;
41 42
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index b9763badbd77..43e2d7d33976 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -39,6 +39,7 @@
39#include <linux/mutex.h> 39#include <linux/mutex.h>
40#include <linux/completion.h> 40#include <linux/completion.h>
41#include <linux/init.h> 41#include <linux/init.h>
42#include <linux/slab.h>
42#include <xen/interface/xen.h> 43#include <xen/interface/xen.h>
43#include <xen/interface/grant_table.h> 44#include <xen/interface/grant_table.h>
44#include <xen/interface/io/xenbus.h> 45#include <xen/interface/io/xenbus.h>