aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2008-02-14 15:05:41 -0500
committerChristoph Lameter <clameter@sgi.com>2008-02-14 15:05:41 -0500
commitc5974932c1e8514d3478573bb52beebeb2c786dd (patch)
treea204156fbb0036fb76e89ceffa15a30e90bc3f75 /include
parent9e40ade04c45a46f6b3d647e0bdac1a32bfaa3a9 (diff)
parente760e716d47b48caf98da348368fd41b4a9b9e7e (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acpiosxf.h2
-rw-r--r--include/asm-mn10300/highmem.h4
-rw-r--r--include/asm-mn10300/linkage.h2
-rw-r--r--include/asm-x86/sigcontext.h66
-rw-r--r--include/linux/aio.h20
-rw-r--r--include/linux/buffer_head.h6
-rw-r--r--include/linux/cgroup_subsys.h2
-rw-r--r--include/linux/etherdevice.h3
-rw-r--r--include/linux/file.h16
-rw-r--r--include/linux/gfp.h15
-rw-r--r--include/linux/hugetlb.h2
-rw-r--r--include/linux/interrupt.h8
-rw-r--r--include/linux/irq.h1
-rw-r--r--include/linux/linkage.h5
-rw-r--r--include/linux/marker.h68
-rw-r--r--include/linux/mm.h4
-rw-r--r--include/linux/module.h2
-rw-r--r--include/linux/moduleparam.h12
-rw-r--r--include/linux/mutex-debug.h2
-rw-r--r--include/linux/namei.h6
-rw-r--r--include/linux/netdevice.h2
-rw-r--r--include/linux/pagemap.h10
-rw-r--r--include/linux/pid.h21
-rw-r--r--include/linux/rwsem-spinlock.h16
-rw-r--r--include/linux/sched.h32
-rw-r--r--include/linux/serial_core.h2
-rw-r--r--include/linux/swap.h8
-rw-r--r--include/linux/wait.h34
-rw-r--r--include/linux/workqueue.h13
-rw-r--r--include/scsi/scsi_host.h8
30 files changed, 238 insertions, 154 deletions
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index 022a5fd80c8e..4839f2af94c3 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -222,7 +222,7 @@ acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width);
222 */ 222 */
223acpi_status 223acpi_status
224acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, 224acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id,
225 u32 reg, void *value, u32 width); 225 u32 reg, u32 *value, u32 width);
226 226
227acpi_status 227acpi_status
228acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, 228acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id,
diff --git a/include/asm-mn10300/highmem.h b/include/asm-mn10300/highmem.h
index 383c0c42982e..5256854c0453 100644
--- a/include/asm-mn10300/highmem.h
+++ b/include/asm-mn10300/highmem.h
@@ -42,8 +42,8 @@ extern void __init kmap_init(void);
42#define PKMAP_NR(virt) ((virt - PKMAP_BASE) >> PAGE_SHIFT) 42#define PKMAP_NR(virt) ((virt - PKMAP_BASE) >> PAGE_SHIFT)
43#define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT)) 43#define PKMAP_ADDR(nr) (PKMAP_BASE + ((nr) << PAGE_SHIFT))
44 44
45extern unsigned long __fastcall kmap_high(struct page *page); 45extern unsigned long kmap_high(struct page *page);
46extern void __fastcall kunmap_high(struct page *page); 46extern void kunmap_high(struct page *page);
47 47
48static inline unsigned long kmap(struct page *page) 48static inline unsigned long kmap(struct page *page)
49{ 49{
diff --git a/include/asm-mn10300/linkage.h b/include/asm-mn10300/linkage.h
index 29a32e467523..dda3002a5dfa 100644
--- a/include/asm-mn10300/linkage.h
+++ b/include/asm-mn10300/linkage.h
@@ -13,8 +13,6 @@
13 13
14/* don't override anything */ 14/* don't override anything */
15#define asmlinkage 15#define asmlinkage
16#define FASTCALL(x) x
17#define fastcall
18 16
19#define __ALIGN .align 4,0xcb 17#define __ALIGN .align 4,0xcb
20#define __ALIGN_STR ".align 4,0xcb" 18#define __ALIGN_STR ".align 4,0xcb"
diff --git a/include/asm-x86/sigcontext.h b/include/asm-x86/sigcontext.h
index 681deade5f00..d743947f4c77 100644
--- a/include/asm-x86/sigcontext.h
+++ b/include/asm-x86/sigcontext.h
@@ -58,6 +58,7 @@ struct _fpstate {
58 58
59#define X86_FXSR_MAGIC 0x0000 59#define X86_FXSR_MAGIC 0x0000
60 60
61#ifdef __KERNEL__
61struct sigcontext { 62struct sigcontext {
62 unsigned short gs, __gsh; 63 unsigned short gs, __gsh;
63 unsigned short fs, __fsh; 64 unsigned short fs, __fsh;
@@ -82,6 +83,35 @@ struct sigcontext {
82 unsigned long oldmask; 83 unsigned long oldmask;
83 unsigned long cr2; 84 unsigned long cr2;
84}; 85};
86#else /* __KERNEL__ */
87/*
88 * User-space might still rely on the old definition:
89 */
90struct sigcontext {
91 unsigned short gs, __gsh;
92 unsigned short fs, __fsh;
93 unsigned short es, __esh;
94 unsigned short ds, __dsh;
95 unsigned long edi;
96 unsigned long esi;
97 unsigned long ebp;
98 unsigned long esp;
99 unsigned long ebx;
100 unsigned long edx;
101 unsigned long ecx;
102 unsigned long eax;
103 unsigned long trapno;
104 unsigned long err;
105 unsigned long eip;
106 unsigned short cs, __csh;
107 unsigned long eflags;
108 unsigned long esp_at_signal;
109 unsigned short ss, __ssh;
110 struct _fpstate __user * fpstate;
111 unsigned long oldmask;
112 unsigned long cr2;
113};
114#endif /* !__KERNEL__ */
85 115
86#else /* __i386__ */ 116#else /* __i386__ */
87 117
@@ -102,6 +132,7 @@ struct _fpstate {
102 __u32 reserved2[24]; 132 __u32 reserved2[24];
103}; 133};
104 134
135#ifdef __KERNEL__
105struct sigcontext { 136struct sigcontext {
106 unsigned long r8; 137 unsigned long r8;
107 unsigned long r9; 138 unsigned long r9;
@@ -132,6 +163,41 @@ struct sigcontext {
132 struct _fpstate __user *fpstate; /* zero when no FPU context */ 163 struct _fpstate __user *fpstate; /* zero when no FPU context */
133 unsigned long reserved1[8]; 164 unsigned long reserved1[8];
134}; 165};
166#else /* __KERNEL__ */
167/*
168 * User-space might still rely on the old definition:
169 */
170struct sigcontext {
171 unsigned long r8;
172 unsigned long r9;
173 unsigned long r10;
174 unsigned long r11;
175 unsigned long r12;
176 unsigned long r13;
177 unsigned long r14;
178 unsigned long r15;
179 unsigned long rdi;
180 unsigned long rsi;
181 unsigned long rbp;
182 unsigned long rbx;
183 unsigned long rdx;
184 unsigned long rax;
185 unsigned long rcx;
186 unsigned long rsp;
187 unsigned long rip;
188 unsigned long eflags; /* RFLAGS */
189 unsigned short cs;
190 unsigned short gs;
191 unsigned short fs;
192 unsigned short __pad0;
193 unsigned long err;
194 unsigned long trapno;
195 unsigned long oldmask;
196 unsigned long cr2;
197 struct _fpstate __user *fpstate; /* zero when no FPU context */
198 unsigned long reserved1[8];
199};
200#endif /* !__KERNEL__ */
135 201
136#endif /* !__i386__ */ 202#endif /* !__i386__ */
137 203
diff --git a/include/linux/aio.h b/include/linux/aio.h
index 7ef8de662001..a9931e2e5624 100644
--- a/include/linux/aio.h
+++ b/include/linux/aio.h
@@ -206,21 +206,21 @@ struct kioctx {
206/* prototypes */ 206/* prototypes */
207extern unsigned aio_max_size; 207extern unsigned aio_max_size;
208 208
209extern ssize_t FASTCALL(wait_on_sync_kiocb(struct kiocb *iocb)); 209extern ssize_t wait_on_sync_kiocb(struct kiocb *iocb);
210extern int FASTCALL(aio_put_req(struct kiocb *iocb)); 210extern int aio_put_req(struct kiocb *iocb);
211extern void FASTCALL(kick_iocb(struct kiocb *iocb)); 211extern void kick_iocb(struct kiocb *iocb);
212extern int FASTCALL(aio_complete(struct kiocb *iocb, long res, long res2)); 212extern int aio_complete(struct kiocb *iocb, long res, long res2);
213extern void FASTCALL(__put_ioctx(struct kioctx *ctx)); 213extern void __put_ioctx(struct kioctx *ctx);
214struct mm_struct; 214struct mm_struct;
215extern void FASTCALL(exit_aio(struct mm_struct *mm)); 215extern void exit_aio(struct mm_struct *mm);
216extern struct kioctx *lookup_ioctx(unsigned long ctx_id); 216extern struct kioctx *lookup_ioctx(unsigned long ctx_id);
217extern int FASTCALL(io_submit_one(struct kioctx *ctx, 217extern int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
218 struct iocb __user *user_iocb, struct iocb *iocb)); 218 struct iocb *iocb);
219 219
220/* semi private, but used by the 32bit emulations: */ 220/* semi private, but used by the 32bit emulations: */
221struct kioctx *lookup_ioctx(unsigned long ctx_id); 221struct kioctx *lookup_ioctx(unsigned long ctx_id);
222int FASTCALL(io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, 222int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
223 struct iocb *iocb)); 223 struct iocb *iocb);
224 224
225#define get_ioctx(kioctx) do { \ 225#define get_ioctx(kioctx) do { \
226 BUG_ON(atomic_read(&(kioctx)->users) <= 0); \ 226 BUG_ON(atomic_read(&(kioctx)->users) <= 0); \
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index e98801f06dcc..932eb02a2753 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -144,7 +144,7 @@ BUFFER_FNS(Unwritten, unwritten)
144 * Declarations 144 * Declarations
145 */ 145 */
146 146
147void FASTCALL(mark_buffer_dirty(struct buffer_head *bh)); 147void mark_buffer_dirty(struct buffer_head *bh);
148void init_buffer(struct buffer_head *, bh_end_io_t *, void *); 148void init_buffer(struct buffer_head *, bh_end_io_t *, void *);
149void set_bh_page(struct buffer_head *bh, 149void set_bh_page(struct buffer_head *bh,
150 struct page *page, unsigned long offset); 150 struct page *page, unsigned long offset);
@@ -185,8 +185,8 @@ struct buffer_head *__bread(struct block_device *, sector_t block, unsigned size
185void invalidate_bh_lrus(void); 185void invalidate_bh_lrus(void);
186struct buffer_head *alloc_buffer_head(gfp_t gfp_flags); 186struct buffer_head *alloc_buffer_head(gfp_t gfp_flags);
187void free_buffer_head(struct buffer_head * bh); 187void free_buffer_head(struct buffer_head * bh);
188void FASTCALL(unlock_buffer(struct buffer_head *bh)); 188void unlock_buffer(struct buffer_head *bh);
189void FASTCALL(__lock_buffer(struct buffer_head *bh)); 189void __lock_buffer(struct buffer_head *bh);
190void ll_rw_block(int, int, struct buffer_head * bh[]); 190void ll_rw_block(int, int, struct buffer_head * bh[]);
191int sync_dirty_buffer(struct buffer_head *bh); 191int sync_dirty_buffer(struct buffer_head *bh);
192int submit_bh(int, struct buffer_head *); 192int submit_bh(int, struct buffer_head *);
diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h
index 228235c5ae53..ac6aad98b607 100644
--- a/include/linux/cgroup_subsys.h
+++ b/include/linux/cgroup_subsys.h
@@ -25,7 +25,7 @@ SUBSYS(ns)
25 25
26/* */ 26/* */
27 27
28#ifdef CONFIG_FAIR_CGROUP_SCHED 28#ifdef CONFIG_CGROUP_SCHED
29SUBSYS(cpu_cgroup) 29SUBSYS(cpu_cgroup)
30#endif 30#endif
31 31
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
index b7558ec81ed5..25d62e6e3290 100644
--- a/include/linux/etherdevice.h
+++ b/include/linux/etherdevice.h
@@ -70,8 +70,7 @@ static inline int is_multicast_ether_addr(const u8 *addr)
70} 70}
71 71
72/** 72/**
73 * is_local_ether_addr - Determine if the Ethernet address is locally-assigned 73 * is_local_ether_addr - Determine if the Ethernet address is locally-assigned one (IEEE 802).
74 * one (IEEE 802).
75 * @addr: Pointer to a six-byte array containing the Ethernet address 74 * @addr: Pointer to a six-byte array containing the Ethernet address
76 * 75 *
77 * Return true if the address is a local address. 76 * Return true if the address is a local address.
diff --git a/include/linux/file.h b/include/linux/file.h
index 56023c74e9fd..7239baac81a9 100644
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -59,8 +59,8 @@ struct files_struct {
59 59
60extern struct kmem_cache *filp_cachep; 60extern struct kmem_cache *filp_cachep;
61 61
62extern void FASTCALL(__fput(struct file *)); 62extern void __fput(struct file *);
63extern void FASTCALL(fput(struct file *)); 63extern void fput(struct file *);
64 64
65struct file_operations; 65struct file_operations;
66struct vfsmount; 66struct vfsmount;
@@ -77,13 +77,13 @@ static inline void fput_light(struct file *file, int fput_needed)
77 fput(file); 77 fput(file);
78} 78}
79 79
80extern struct file * FASTCALL(fget(unsigned int fd)); 80extern struct file *fget(unsigned int fd);
81extern struct file * FASTCALL(fget_light(unsigned int fd, int *fput_needed)); 81extern struct file *fget_light(unsigned int fd, int *fput_needed);
82extern void FASTCALL(set_close_on_exec(unsigned int fd, int flag)); 82extern void set_close_on_exec(unsigned int fd, int flag);
83extern void put_filp(struct file *); 83extern void put_filp(struct file *);
84extern int get_unused_fd(void); 84extern int get_unused_fd(void);
85extern int get_unused_fd_flags(int flags); 85extern int get_unused_fd_flags(int flags);
86extern void FASTCALL(put_unused_fd(unsigned int fd)); 86extern void put_unused_fd(unsigned int fd);
87struct kmem_cache; 87struct kmem_cache;
88 88
89extern int expand_files(struct files_struct *, int nr); 89extern int expand_files(struct files_struct *, int nr);
@@ -110,12 +110,12 @@ static inline struct file * fcheck_files(struct files_struct *files, unsigned in
110 */ 110 */
111#define fcheck(fd) fcheck_files(current->files, fd) 111#define fcheck(fd) fcheck_files(current->files, fd)
112 112
113extern void FASTCALL(fd_install(unsigned int fd, struct file * file)); 113extern void fd_install(unsigned int fd, struct file *file);
114 114
115struct task_struct; 115struct task_struct;
116 116
117struct files_struct *get_files_struct(struct task_struct *); 117struct files_struct *get_files_struct(struct task_struct *);
118void FASTCALL(put_files_struct(struct files_struct *fs)); 118void put_files_struct(struct files_struct *fs);
119void reset_files_struct(struct task_struct *, struct files_struct *); 119void reset_files_struct(struct task_struct *, struct files_struct *);
120 120
121extern struct kmem_cache *files_cachep; 121extern struct kmem_cache *files_cachep;
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 0c6ce515185d..164be9da3c1b 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -172,8 +172,7 @@ static inline void arch_free_page(struct page *page, int order) { }
172static inline void arch_alloc_page(struct page *page, int order) { } 172static inline void arch_alloc_page(struct page *page, int order) { }
173#endif 173#endif
174 174
175extern struct page * 175extern struct page *__alloc_pages(gfp_t, unsigned int, struct zonelist *);
176FASTCALL(__alloc_pages(gfp_t, unsigned int, struct zonelist *));
177 176
178static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask, 177static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask,
179 unsigned int order) 178 unsigned int order)
@@ -209,8 +208,8 @@ extern struct page *alloc_page_vma(gfp_t gfp_mask,
209#endif 208#endif
210#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) 209#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)
211 210
212extern unsigned long FASTCALL(__get_free_pages(gfp_t gfp_mask, unsigned int order)); 211extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order);
213extern unsigned long FASTCALL(get_zeroed_page(gfp_t gfp_mask)); 212extern unsigned long get_zeroed_page(gfp_t gfp_mask);
214 213
215#define __get_free_page(gfp_mask) \ 214#define __get_free_page(gfp_mask) \
216 __get_free_pages((gfp_mask),0) 215 __get_free_pages((gfp_mask),0)
@@ -218,10 +217,10 @@ extern unsigned long FASTCALL(get_zeroed_page(gfp_t gfp_mask));
218#define __get_dma_pages(gfp_mask, order) \ 217#define __get_dma_pages(gfp_mask, order) \
219 __get_free_pages((gfp_mask) | GFP_DMA,(order)) 218 __get_free_pages((gfp_mask) | GFP_DMA,(order))
220 219
221extern void FASTCALL(__free_pages(struct page *page, unsigned int order)); 220extern void __free_pages(struct page *page, unsigned int order);
222extern void FASTCALL(free_pages(unsigned long addr, unsigned int order)); 221extern void free_pages(unsigned long addr, unsigned int order);
223extern void FASTCALL(free_hot_page(struct page *page)); 222extern void free_hot_page(struct page *page);
224extern void FASTCALL(free_cold_page(struct page *page)); 223extern void free_cold_page(struct page *page);
225 224
226#define __free_page(page) __free_pages((page), 0) 225#define __free_page(page) __free_pages((page), 0)
227#define free_page(addr) free_pages((addr),0) 226#define free_page(addr) free_pages((addr),0)
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 7ca198b379af..addca4cd4f11 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -33,8 +33,8 @@ int hugetlb_reserve_pages(struct inode *inode, long from, long to);
33void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed); 33void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed);
34 34
35extern unsigned long max_huge_pages; 35extern unsigned long max_huge_pages;
36extern unsigned long sysctl_overcommit_huge_pages;
36extern unsigned long hugepages_treat_as_movable; 37extern unsigned long hugepages_treat_as_movable;
37extern unsigned long nr_overcommit_huge_pages;
38extern const unsigned long hugetlb_zero, hugetlb_infinity; 38extern const unsigned long hugetlb_zero, hugetlb_infinity;
39extern int sysctl_hugetlb_shm_group; 39extern int sysctl_hugetlb_shm_group;
40 40
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index dea7598aeff4..f8ab4ce70564 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -273,8 +273,8 @@ asmlinkage void do_softirq(void);
273extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data); 273extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data);
274extern void softirq_init(void); 274extern void softirq_init(void);
275#define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0) 275#define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0)
276extern void FASTCALL(raise_softirq_irqoff(unsigned int nr)); 276extern void raise_softirq_irqoff(unsigned int nr);
277extern void FASTCALL(raise_softirq(unsigned int nr)); 277extern void raise_softirq(unsigned int nr);
278 278
279 279
280/* Tasklets --- multithreaded analogue of BHs. 280/* Tasklets --- multithreaded analogue of BHs.
@@ -341,7 +341,7 @@ static inline void tasklet_unlock_wait(struct tasklet_struct *t)
341#define tasklet_unlock(t) do { } while (0) 341#define tasklet_unlock(t) do { } while (0)
342#endif 342#endif
343 343
344extern void FASTCALL(__tasklet_schedule(struct tasklet_struct *t)); 344extern void __tasklet_schedule(struct tasklet_struct *t);
345 345
346static inline void tasklet_schedule(struct tasklet_struct *t) 346static inline void tasklet_schedule(struct tasklet_struct *t)
347{ 347{
@@ -349,7 +349,7 @@ static inline void tasklet_schedule(struct tasklet_struct *t)
349 __tasklet_schedule(t); 349 __tasklet_schedule(t);
350} 350}
351 351
352extern void FASTCALL(__tasklet_hi_schedule(struct tasklet_struct *t)); 352extern void __tasklet_hi_schedule(struct tasklet_struct *t);
353 353
354static inline void tasklet_hi_schedule(struct tasklet_struct *t) 354static inline void tasklet_hi_schedule(struct tasklet_struct *t)
355{ 355{
diff --git a/include/linux/irq.h b/include/linux/irq.h
index bfd9efb5cb49..176e5e790a44 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -285,7 +285,6 @@ extern void handle_bad_irq(unsigned int irq, struct irq_desc *desc);
285 285
286/* 286/*
287 * Monolithic do_IRQ implementation. 287 * Monolithic do_IRQ implementation.
288 * (is an explicit fastcall, because i386 4KSTACKS calls it from assembly)
289 */ 288 */
290#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ 289#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
291extern unsigned int __do_IRQ(unsigned int irq); 290extern unsigned int __do_IRQ(unsigned int irq);
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 3faf599ea58e..0592936344c4 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -73,9 +73,4 @@
73#define ATTRIB_NORET __attribute__((noreturn)) 73#define ATTRIB_NORET __attribute__((noreturn))
74#define NORET_AND noreturn, 74#define NORET_AND noreturn,
75 75
76#ifndef FASTCALL
77#define FASTCALL(x) x
78#define fastcall
79#endif
80
81#endif 76#endif
diff --git a/include/linux/marker.h b/include/linux/marker.h
index 5f36cf946bcb..5df879dc3776 100644
--- a/include/linux/marker.h
+++ b/include/linux/marker.h
@@ -19,16 +19,23 @@ struct marker;
19 19
20/** 20/**
21 * marker_probe_func - Type of a marker probe function 21 * marker_probe_func - Type of a marker probe function
22 * @mdata: pointer of type struct marker 22 * @probe_private: probe private data
23 * @private_data: caller site private data 23 * @call_private: call site private data
24 * @fmt: format string 24 * @fmt: format string
25 * @...: variable argument list 25 * @args: variable argument list pointer. Use a pointer to overcome C's
26 * inability to pass this around as a pointer in a portable manner in
27 * the callee otherwise.
26 * 28 *
27 * Type of marker probe functions. They receive the mdata and need to parse the 29 * Type of marker probe functions. They receive the mdata and need to parse the
28 * format string to recover the variable argument list. 30 * format string to recover the variable argument list.
29 */ 31 */
30typedef void marker_probe_func(const struct marker *mdata, 32typedef void marker_probe_func(void *probe_private, void *call_private,
31 void *private_data, const char *fmt, ...); 33 const char *fmt, va_list *args);
34
35struct marker_probe_closure {
36 marker_probe_func *func; /* Callback */
37 void *probe_private; /* Private probe data */
38};
32 39
33struct marker { 40struct marker {
34 const char *name; /* Marker name */ 41 const char *name; /* Marker name */
@@ -36,8 +43,11 @@ struct marker {
36 * variable argument list. 43 * variable argument list.
37 */ 44 */
38 char state; /* Marker state. */ 45 char state; /* Marker state. */
39 marker_probe_func *call;/* Probe handler function pointer */ 46 char ptype; /* probe type : 0 : single, 1 : multi */
40 void *private; /* Private probe data */ 47 void (*call)(const struct marker *mdata, /* Probe wrapper */
48 void *call_private, const char *fmt, ...);
49 struct marker_probe_closure single;
50 struct marker_probe_closure *multi;
41} __attribute__((aligned(8))); 51} __attribute__((aligned(8)));
42 52
43#ifdef CONFIG_MARKERS 53#ifdef CONFIG_MARKERS
@@ -49,35 +59,31 @@ struct marker {
49 * not add unwanted padding between the beginning of the section and the 59 * not add unwanted padding between the beginning of the section and the
50 * structure. Force alignment to the same alignment as the section start. 60 * structure. Force alignment to the same alignment as the section start.
51 */ 61 */
52#define __trace_mark(name, call_data, format, args...) \ 62#define __trace_mark(name, call_private, format, args...) \
53 do { \ 63 do { \
54 static const char __mstrtab_name_##name[] \ 64 static const char __mstrtab_##name[] \
55 __attribute__((section("__markers_strings"))) \
56 = #name; \
57 static const char __mstrtab_format_##name[] \
58 __attribute__((section("__markers_strings"))) \ 65 __attribute__((section("__markers_strings"))) \
59 = format; \ 66 = #name "\0" format; \
60 static struct marker __mark_##name \ 67 static struct marker __mark_##name \
61 __attribute__((section("__markers"), aligned(8))) = \ 68 __attribute__((section("__markers"), aligned(8))) = \
62 { __mstrtab_name_##name, __mstrtab_format_##name, \ 69 { __mstrtab_##name, &__mstrtab_##name[sizeof(#name)], \
63 0, __mark_empty_function, NULL }; \ 70 0, 0, marker_probe_cb, \
71 { __mark_empty_function, NULL}, NULL }; \
64 __mark_check_format(format, ## args); \ 72 __mark_check_format(format, ## args); \
65 if (unlikely(__mark_##name.state)) { \ 73 if (unlikely(__mark_##name.state)) { \
66 preempt_disable(); \
67 (*__mark_##name.call) \ 74 (*__mark_##name.call) \
68 (&__mark_##name, call_data, \ 75 (&__mark_##name, call_private, \
69 format, ## args); \ 76 format, ## args); \
70 preempt_enable(); \
71 } \ 77 } \
72 } while (0) 78 } while (0)
73 79
74extern void marker_update_probe_range(struct marker *begin, 80extern void marker_update_probe_range(struct marker *begin,
75 struct marker *end, struct module *probe_module, int *refcount); 81 struct marker *end);
76#else /* !CONFIG_MARKERS */ 82#else /* !CONFIG_MARKERS */
77#define __trace_mark(name, call_data, format, args...) \ 83#define __trace_mark(name, call_private, format, args...) \
78 __mark_check_format(format, ## args) 84 __mark_check_format(format, ## args)
79static inline void marker_update_probe_range(struct marker *begin, 85static inline void marker_update_probe_range(struct marker *begin,
80 struct marker *end, struct module *probe_module, int *refcount) 86 struct marker *end)
81{ } 87{ }
82#endif /* CONFIG_MARKERS */ 88#endif /* CONFIG_MARKERS */
83 89
@@ -92,8 +98,6 @@ static inline void marker_update_probe_range(struct marker *begin,
92#define trace_mark(name, format, args...) \ 98#define trace_mark(name, format, args...) \
93 __trace_mark(name, NULL, format, ## args) 99 __trace_mark(name, NULL, format, ## args)
94 100
95#define MARK_MAX_FORMAT_LEN 1024
96
97/** 101/**
98 * MARK_NOARGS - Format string for a marker with no argument. 102 * MARK_NOARGS - Format string for a marker with no argument.
99 */ 103 */
@@ -106,24 +110,30 @@ static inline void __printf(1, 2) __mark_check_format(const char *fmt, ...)
106 110
107extern marker_probe_func __mark_empty_function; 111extern marker_probe_func __mark_empty_function;
108 112
113extern void marker_probe_cb(const struct marker *mdata,
114 void *call_private, const char *fmt, ...);
115extern void marker_probe_cb_noarg(const struct marker *mdata,
116 void *call_private, const char *fmt, ...);
117
109/* 118/*
110 * Connect a probe to a marker. 119 * Connect a probe to a marker.
111 * private data pointer must be a valid allocated memory address, or NULL. 120 * private data pointer must be a valid allocated memory address, or NULL.
112 */ 121 */
113extern int marker_probe_register(const char *name, const char *format, 122extern int marker_probe_register(const char *name, const char *format,
114 marker_probe_func *probe, void *private); 123 marker_probe_func *probe, void *probe_private);
115 124
116/* 125/*
117 * Returns the private data given to marker_probe_register. 126 * Returns the private data given to marker_probe_register.
118 */ 127 */
119extern void *marker_probe_unregister(const char *name); 128extern int marker_probe_unregister(const char *name,
129 marker_probe_func *probe, void *probe_private);
120/* 130/*
121 * Unregister a marker by providing the registered private data. 131 * Unregister a marker by providing the registered private data.
122 */ 132 */
123extern void *marker_probe_unregister_private_data(void *private); 133extern int marker_probe_unregister_private_data(marker_probe_func *probe,
134 void *probe_private);
124 135
125extern int marker_arm(const char *name); 136extern void *marker_get_private_data(const char *name, marker_probe_func *probe,
126extern int marker_disarm(const char *name); 137 int num);
127extern void *marker_get_private_data(const char *name);
128 138
129#endif 139#endif
diff --git a/include/linux/mm.h b/include/linux/mm.h
index e8abb3814209..26c7124b841a 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -786,7 +786,7 @@ int __set_page_dirty_nobuffers(struct page *page);
786int __set_page_dirty_no_writeback(struct page *page); 786int __set_page_dirty_no_writeback(struct page *page);
787int redirty_page_for_writepage(struct writeback_control *wbc, 787int redirty_page_for_writepage(struct writeback_control *wbc,
788 struct page *page); 788 struct page *page);
789int FASTCALL(set_page_dirty(struct page *page)); 789int set_page_dirty(struct page *page);
790int set_page_dirty_lock(struct page *page); 790int set_page_dirty_lock(struct page *page);
791int clear_page_dirty_for_io(struct page *page); 791int clear_page_dirty_for_io(struct page *page);
792 792
@@ -829,7 +829,7 @@ extern void unregister_shrinker(struct shrinker *);
829 829
830int vma_wants_writenotify(struct vm_area_struct *vma); 830int vma_wants_writenotify(struct vm_area_struct *vma);
831 831
832extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)); 832extern pte_t *get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl);
833 833
834#ifdef __PAGETABLE_PUD_FOLDED 834#ifdef __PAGETABLE_PUD_FOLDED
835static inline int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, 835static inline int __pud_alloc(struct mm_struct *mm, pgd_t *pgd,
diff --git a/include/linux/module.h b/include/linux/module.h
index ac28e8761e84..330bec08c2c4 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -465,7 +465,7 @@ int unregister_module_notifier(struct notifier_block * nb);
465 465
466extern void print_modules(void); 466extern void print_modules(void);
467 467
468extern void module_update_markers(struct module *probe_module, int *refcount); 468extern void module_update_markers(void);
469 469
470#else /* !CONFIG_MODULES... */ 470#else /* !CONFIG_MODULES... */
471#define EXPORT_SYMBOL(sym) 471#define EXPORT_SYMBOL(sym)
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
index 8126e55c5bdc..ec624381c844 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -62,6 +62,16 @@ struct kparam_array
62 void *elem; 62 void *elem;
63}; 63};
64 64
65/* On alpha, ia64 and ppc64 relocations to global data cannot go into
66 read-only sections (which is part of respective UNIX ABI on these
67 platforms). So 'const' makes no sense and even causes compile failures
68 with some compilers. */
69#if defined(CONFIG_ALPHA) || defined(CONFIG_IA64) || defined(CONFIG_PPC64)
70#define __moduleparam_const
71#else
72#define __moduleparam_const const
73#endif
74
65/* This is the fundamental function for registering boot/module 75/* This is the fundamental function for registering boot/module
66 parameters. perm sets the visibility in sysfs: 000 means it's 76 parameters. perm sets the visibility in sysfs: 000 means it's
67 not there, read bits mean it's readable, write bits mean it's 77 not there, read bits mean it's readable, write bits mean it's
@@ -71,7 +81,7 @@ struct kparam_array
71 static int __param_perm_check_##name __attribute__((unused)) = \ 81 static int __param_perm_check_##name __attribute__((unused)) = \
72 BUILD_BUG_ON_ZERO((perm) < 0 || (perm) > 0777 || ((perm) & 2)); \ 82 BUILD_BUG_ON_ZERO((perm) < 0 || (perm) > 0777 || ((perm) & 2)); \
73 static const char __param_str_##name[] = prefix #name; \ 83 static const char __param_str_##name[] = prefix #name; \
74 static struct kernel_param const __param_##name \ 84 static struct kernel_param __moduleparam_const __param_##name \
75 __used \ 85 __used \
76 __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) \ 86 __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) \
77 = { __param_str_##name, perm, set, get, { arg } } 87 = { __param_str_##name, perm, set, get, { arg } }
diff --git a/include/linux/mutex-debug.h b/include/linux/mutex-debug.h
index 2537285e1064..731d77d6e155 100644
--- a/include/linux/mutex-debug.h
+++ b/include/linux/mutex-debug.h
@@ -18,6 +18,6 @@ do { \
18 __mutex_init((mutex), #mutex, &__key); \ 18 __mutex_init((mutex), #mutex, &__key); \
19} while (0) 19} while (0)
20 20
21extern void FASTCALL(mutex_destroy(struct mutex *lock)); 21extern void mutex_destroy(struct mutex *lock);
22 22
23#endif 23#endif
diff --git a/include/linux/namei.h b/include/linux/namei.h
index 4cb4f8d2f78d..c13e411491f4 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -62,13 +62,13 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
62#define LOOKUP_ACCESS (0x0400) 62#define LOOKUP_ACCESS (0x0400)
63#define LOOKUP_CHDIR (0x0800) 63#define LOOKUP_CHDIR (0x0800)
64 64
65extern int FASTCALL(__user_walk(const char __user *, unsigned, struct nameidata *)); 65extern int __user_walk(const char __user *, unsigned, struct nameidata *);
66extern int FASTCALL(__user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *)); 66extern int __user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *);
67#define user_path_walk(name,nd) \ 67#define user_path_walk(name,nd) \
68 __user_walk_fd(AT_FDCWD, name, LOOKUP_FOLLOW, nd) 68 __user_walk_fd(AT_FDCWD, name, LOOKUP_FOLLOW, nd)
69#define user_path_walk_link(name,nd) \ 69#define user_path_walk_link(name,nd) \
70 __user_walk_fd(AT_FDCWD, name, 0, nd) 70 __user_walk_fd(AT_FDCWD, name, 0, nd)
71extern int FASTCALL(path_lookup(const char *, unsigned, struct nameidata *)); 71extern int path_lookup(const char *, unsigned, struct nameidata *);
72extern int vfs_path_lookup(struct dentry *, struct vfsmount *, 72extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
73 const char *, unsigned int, struct nameidata *); 73 const char *, unsigned int, struct nameidata *);
74extern void path_release(struct nameidata *); 74extern void path_release(struct nameidata *);
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 047d432bde55..7128a02f1d37 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -322,7 +322,7 @@ enum
322 NAPI_STATE_DISABLE, /* Disable pending */ 322 NAPI_STATE_DISABLE, /* Disable pending */
323}; 323};
324 324
325extern void FASTCALL(__napi_schedule(struct napi_struct *n)); 325extern void __napi_schedule(struct napi_struct *n);
326 326
327static inline int napi_disable_pending(struct napi_struct *n) 327static inline int napi_disable_pending(struct napi_struct *n)
328{ 328{
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 4b62a105622b..d2fca802f809 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -156,10 +156,10 @@ static inline pgoff_t linear_page_index(struct vm_area_struct *vma,
156 return pgoff >> (PAGE_CACHE_SHIFT - PAGE_SHIFT); 156 return pgoff >> (PAGE_CACHE_SHIFT - PAGE_SHIFT);
157} 157}
158 158
159extern void FASTCALL(__lock_page(struct page *page)); 159extern void __lock_page(struct page *page);
160extern int FASTCALL(__lock_page_killable(struct page *page)); 160extern int __lock_page_killable(struct page *page);
161extern void FASTCALL(__lock_page_nosync(struct page *page)); 161extern void __lock_page_nosync(struct page *page);
162extern void FASTCALL(unlock_page(struct page *page)); 162extern void unlock_page(struct page *page);
163 163
164/* 164/*
165 * lock_page may only be called if we have the page's inode pinned. 165 * lock_page may only be called if we have the page's inode pinned.
@@ -199,7 +199,7 @@ static inline void lock_page_nosync(struct page *page)
199 * This is exported only for wait_on_page_locked/wait_on_page_writeback. 199 * This is exported only for wait_on_page_locked/wait_on_page_writeback.
200 * Never use this directly! 200 * Never use this directly!
201 */ 201 */
202extern void FASTCALL(wait_on_page_bit(struct page *page, int bit_nr)); 202extern void wait_on_page_bit(struct page *page, int bit_nr);
203 203
204/* 204/*
205 * Wait for a page to be unlocked. 205 * Wait for a page to be unlocked.
diff --git a/include/linux/pid.h b/include/linux/pid.h
index f84d532b5d23..c7980810eb09 100644
--- a/include/linux/pid.h
+++ b/include/linux/pid.h
@@ -79,10 +79,9 @@ static inline struct pid *get_pid(struct pid *pid)
79 return pid; 79 return pid;
80} 80}
81 81
82extern void FASTCALL(put_pid(struct pid *pid)); 82extern void put_pid(struct pid *pid);
83extern struct task_struct *FASTCALL(pid_task(struct pid *pid, enum pid_type)); 83extern struct task_struct *pid_task(struct pid *pid, enum pid_type);
84extern struct task_struct *FASTCALL(get_pid_task(struct pid *pid, 84extern struct task_struct *get_pid_task(struct pid *pid, enum pid_type);
85 enum pid_type));
86 85
87extern struct pid *get_task_pid(struct task_struct *task, enum pid_type type); 86extern struct pid *get_task_pid(struct task_struct *task, enum pid_type type);
88 87
@@ -90,11 +89,11 @@ extern struct pid *get_task_pid(struct task_struct *task, enum pid_type type);
90 * attach_pid() and detach_pid() must be called with the tasklist_lock 89 * attach_pid() and detach_pid() must be called with the tasklist_lock
91 * write-held. 90 * write-held.
92 */ 91 */
93extern int FASTCALL(attach_pid(struct task_struct *task, 92extern int attach_pid(struct task_struct *task, enum pid_type type,
94 enum pid_type type, struct pid *pid)); 93 struct pid *pid);
95extern void FASTCALL(detach_pid(struct task_struct *task, enum pid_type)); 94extern void detach_pid(struct task_struct *task, enum pid_type);
96extern void FASTCALL(transfer_pid(struct task_struct *old, 95extern void transfer_pid(struct task_struct *old, struct task_struct *new,
97 struct task_struct *new, enum pid_type)); 96 enum pid_type);
98 97
99struct pid_namespace; 98struct pid_namespace;
100extern struct pid_namespace init_pid_ns; 99extern struct pid_namespace init_pid_ns;
@@ -109,7 +108,7 @@ extern struct pid_namespace init_pid_ns;
109 * 108 *
110 * see also find_task_by_pid() set in include/linux/sched.h 109 * see also find_task_by_pid() set in include/linux/sched.h
111 */ 110 */
112extern struct pid *FASTCALL(find_pid_ns(int nr, struct pid_namespace *ns)); 111extern struct pid *find_pid_ns(int nr, struct pid_namespace *ns);
113extern struct pid *find_vpid(int nr); 112extern struct pid *find_vpid(int nr);
114extern struct pid *find_pid(int nr); 113extern struct pid *find_pid(int nr);
115 114
@@ -121,7 +120,7 @@ extern struct pid *find_ge_pid(int nr, struct pid_namespace *);
121int next_pidmap(struct pid_namespace *pid_ns, int last); 120int next_pidmap(struct pid_namespace *pid_ns, int last);
122 121
123extern struct pid *alloc_pid(struct pid_namespace *ns); 122extern struct pid *alloc_pid(struct pid_namespace *ns);
124extern void FASTCALL(free_pid(struct pid *pid)); 123extern void free_pid(struct pid *pid);
125 124
126/* 125/*
127 * the helpers to get the pid's id seen from different namespaces 126 * the helpers to get the pid's id seen from different namespaces
diff --git a/include/linux/rwsem-spinlock.h b/include/linux/rwsem-spinlock.h
index 813cee13da0d..6c3c0f6c261f 100644
--- a/include/linux/rwsem-spinlock.h
+++ b/include/linux/rwsem-spinlock.h
@@ -60,14 +60,14 @@ do { \
60 __init_rwsem((sem), #sem, &__key); \ 60 __init_rwsem((sem), #sem, &__key); \
61} while (0) 61} while (0)
62 62
63extern void FASTCALL(__down_read(struct rw_semaphore *sem)); 63extern void __down_read(struct rw_semaphore *sem);
64extern int FASTCALL(__down_read_trylock(struct rw_semaphore *sem)); 64extern int __down_read_trylock(struct rw_semaphore *sem);
65extern void FASTCALL(__down_write(struct rw_semaphore *sem)); 65extern void __down_write(struct rw_semaphore *sem);
66extern void FASTCALL(__down_write_nested(struct rw_semaphore *sem, int subclass)); 66extern void __down_write_nested(struct rw_semaphore *sem, int subclass);
67extern int FASTCALL(__down_write_trylock(struct rw_semaphore *sem)); 67extern int __down_write_trylock(struct rw_semaphore *sem);
68extern void FASTCALL(__up_read(struct rw_semaphore *sem)); 68extern void __up_read(struct rw_semaphore *sem);
69extern void FASTCALL(__up_write(struct rw_semaphore *sem)); 69extern void __up_write(struct rw_semaphore *sem);
70extern void FASTCALL(__downgrade_write(struct rw_semaphore *sem)); 70extern void __downgrade_write(struct rw_semaphore *sem);
71 71
72static inline int rwsem_is_locked(struct rw_semaphore *sem) 72static inline int rwsem_is_locked(struct rw_semaphore *sem)
73{ 73{
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 00e144117326..e217d188a102 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -323,7 +323,7 @@ extern char __sched_text_start[], __sched_text_end[];
323extern int in_sched_functions(unsigned long addr); 323extern int in_sched_functions(unsigned long addr);
324 324
325#define MAX_SCHEDULE_TIMEOUT LONG_MAX 325#define MAX_SCHEDULE_TIMEOUT LONG_MAX
326extern signed long FASTCALL(schedule_timeout(signed long timeout)); 326extern signed long schedule_timeout(signed long timeout);
327extern signed long schedule_timeout_interruptible(signed long timeout); 327extern signed long schedule_timeout_interruptible(signed long timeout);
328extern signed long schedule_timeout_killable(signed long timeout); 328extern signed long schedule_timeout_killable(signed long timeout);
329extern signed long schedule_timeout_uninterruptible(signed long timeout); 329extern signed long schedule_timeout_uninterruptible(signed long timeout);
@@ -590,7 +590,7 @@ struct user_struct {
590 struct hlist_node uidhash_node; 590 struct hlist_node uidhash_node;
591 uid_t uid; 591 uid_t uid;
592 592
593#ifdef CONFIG_FAIR_USER_SCHED 593#ifdef CONFIG_USER_SCHED
594 struct task_group *tg; 594 struct task_group *tg;
595#ifdef CONFIG_SYSFS 595#ifdef CONFIG_SYSFS
596 struct kobject kobj; 596 struct kobject kobj;
@@ -973,7 +973,7 @@ struct sched_rt_entity {
973 unsigned long timeout; 973 unsigned long timeout;
974 int nr_cpus_allowed; 974 int nr_cpus_allowed;
975 975
976#ifdef CONFIG_FAIR_GROUP_SCHED 976#ifdef CONFIG_RT_GROUP_SCHED
977 struct sched_rt_entity *parent; 977 struct sched_rt_entity *parent;
978 /* rq on which this entity is (to be) queued: */ 978 /* rq on which this entity is (to be) queued: */
979 struct rt_rq *rt_rq; 979 struct rt_rq *rt_rq;
@@ -1541,8 +1541,6 @@ extern unsigned int sysctl_sched_child_runs_first;
1541extern unsigned int sysctl_sched_features; 1541extern unsigned int sysctl_sched_features;
1542extern unsigned int sysctl_sched_migration_cost; 1542extern unsigned int sysctl_sched_migration_cost;
1543extern unsigned int sysctl_sched_nr_migrate; 1543extern unsigned int sysctl_sched_nr_migrate;
1544extern unsigned int sysctl_sched_rt_period;
1545extern unsigned int sysctl_sched_rt_ratio;
1546#if defined(CONFIG_FAIR_GROUP_SCHED) && defined(CONFIG_SMP) 1544#if defined(CONFIG_FAIR_GROUP_SCHED) && defined(CONFIG_SMP)
1547extern unsigned int sysctl_sched_min_bal_int_shares; 1545extern unsigned int sysctl_sched_min_bal_int_shares;
1548extern unsigned int sysctl_sched_max_bal_int_shares; 1546extern unsigned int sysctl_sched_max_bal_int_shares;
@@ -1552,6 +1550,8 @@ int sched_nr_latency_handler(struct ctl_table *table, int write,
1552 struct file *file, void __user *buffer, size_t *length, 1550 struct file *file, void __user *buffer, size_t *length,
1553 loff_t *ppos); 1551 loff_t *ppos);
1554#endif 1552#endif
1553extern unsigned int sysctl_sched_rt_period;
1554extern int sysctl_sched_rt_runtime;
1555 1555
1556extern unsigned int sysctl_sched_compat_yield; 1556extern unsigned int sysctl_sched_compat_yield;
1557 1557
@@ -1648,10 +1648,10 @@ extern void release_uids(struct user_namespace *ns);
1648 1648
1649extern void do_timer(unsigned long ticks); 1649extern void do_timer(unsigned long ticks);
1650 1650
1651extern int FASTCALL(wake_up_state(struct task_struct * tsk, unsigned int state)); 1651extern int wake_up_state(struct task_struct *tsk, unsigned int state);
1652extern int FASTCALL(wake_up_process(struct task_struct * tsk)); 1652extern int wake_up_process(struct task_struct *tsk);
1653extern void FASTCALL(wake_up_new_task(struct task_struct * tsk, 1653extern void wake_up_new_task(struct task_struct *tsk,
1654 unsigned long clone_flags)); 1654 unsigned long clone_flags);
1655#ifdef CONFIG_SMP 1655#ifdef CONFIG_SMP
1656 extern void kick_process(struct task_struct *tsk); 1656 extern void kick_process(struct task_struct *tsk);
1657#else 1657#else
@@ -1741,7 +1741,7 @@ static inline int sas_ss_flags(unsigned long sp)
1741extern struct mm_struct * mm_alloc(void); 1741extern struct mm_struct * mm_alloc(void);
1742 1742
1743/* mmdrop drops the mm and the page tables */ 1743/* mmdrop drops the mm and the page tables */
1744extern void FASTCALL(__mmdrop(struct mm_struct *)); 1744extern void __mmdrop(struct mm_struct *);
1745static inline void mmdrop(struct mm_struct * mm) 1745static inline void mmdrop(struct mm_struct * mm)
1746{ 1746{
1747 if (unlikely(atomic_dec_and_test(&mm->mm_count))) 1747 if (unlikely(atomic_dec_and_test(&mm->mm_count)))
@@ -1925,7 +1925,7 @@ static inline int signal_pending(struct task_struct *p)
1925 return unlikely(test_tsk_thread_flag(p,TIF_SIGPENDING)); 1925 return unlikely(test_tsk_thread_flag(p,TIF_SIGPENDING));
1926} 1926}
1927 1927
1928extern int FASTCALL(__fatal_signal_pending(struct task_struct *p)); 1928extern int __fatal_signal_pending(struct task_struct *p);
1929 1929
1930static inline int fatal_signal_pending(struct task_struct *p) 1930static inline int fatal_signal_pending(struct task_struct *p)
1931{ 1931{
@@ -2027,16 +2027,22 @@ extern int sched_mc_power_savings, sched_smt_power_savings;
2027 2027
2028extern void normalize_rt_tasks(void); 2028extern void normalize_rt_tasks(void);
2029 2029
2030#ifdef CONFIG_FAIR_GROUP_SCHED 2030#ifdef CONFIG_GROUP_SCHED
2031 2031
2032extern struct task_group init_task_group; 2032extern struct task_group init_task_group;
2033 2033
2034extern struct task_group *sched_create_group(void); 2034extern struct task_group *sched_create_group(void);
2035extern void sched_destroy_group(struct task_group *tg); 2035extern void sched_destroy_group(struct task_group *tg);
2036extern void sched_move_task(struct task_struct *tsk); 2036extern void sched_move_task(struct task_struct *tsk);
2037#ifdef CONFIG_FAIR_GROUP_SCHED
2037extern int sched_group_set_shares(struct task_group *tg, unsigned long shares); 2038extern int sched_group_set_shares(struct task_group *tg, unsigned long shares);
2038extern unsigned long sched_group_shares(struct task_group *tg); 2039extern unsigned long sched_group_shares(struct task_group *tg);
2039 2040#endif
2041#ifdef CONFIG_RT_GROUP_SCHED
2042extern int sched_group_set_rt_runtime(struct task_group *tg,
2043 long rt_runtime_us);
2044extern long sched_group_rt_runtime(struct task_group *tg);
2045#endif
2040#endif 2046#endif
2041 2047
2042#ifdef CONFIG_TASK_XACCT 2048#ifdef CONFIG_TASK_XACCT
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 1a0b6cf83ff1..289942fc6655 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -149,6 +149,8 @@
149/* Freescale ColdFire */ 149/* Freescale ColdFire */
150#define PORT_MCF 78 150#define PORT_MCF 78
151 151
152#define PORT_SC26XX 79
153
152 154
153/* MN10300 on-chip UART numbers */ 155/* MN10300 on-chip UART numbers */
154#define PORT_MN10300 80 156#define PORT_MN10300 80
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 3ca5c4bd6d3f..878459ae0454 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -171,10 +171,10 @@ extern unsigned int nr_free_pagecache_pages(void);
171 171
172 172
173/* linux/mm/swap.c */ 173/* linux/mm/swap.c */
174extern void FASTCALL(lru_cache_add(struct page *)); 174extern void lru_cache_add(struct page *);
175extern void FASTCALL(lru_cache_add_active(struct page *)); 175extern void lru_cache_add_active(struct page *);
176extern void FASTCALL(activate_page(struct page *)); 176extern void activate_page(struct page *);
177extern void FASTCALL(mark_page_accessed(struct page *)); 177extern void mark_page_accessed(struct page *);
178extern void lru_add_drain(void); 178extern void lru_add_drain(void);
179extern int lru_add_drain_all(void); 179extern int lru_add_drain_all(void);
180extern int rotate_reclaimable_page(struct page *page); 180extern int rotate_reclaimable_page(struct page *page);
diff --git a/include/linux/wait.h b/include/linux/wait.h
index 33a2aa9e02f2..0081147a9fe8 100644
--- a/include/linux/wait.h
+++ b/include/linux/wait.h
@@ -117,9 +117,9 @@ static inline int waitqueue_active(wait_queue_head_t *q)
117 */ 117 */
118#define is_sync_wait(wait) (!(wait) || ((wait)->private)) 118#define is_sync_wait(wait) (!(wait) || ((wait)->private))
119 119
120extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); 120extern void add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait);
121extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)); 121extern void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t *wait);
122extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); 122extern void remove_wait_queue(wait_queue_head_t *q, wait_queue_t *wait);
123 123
124static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) 124static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
125{ 125{
@@ -141,16 +141,16 @@ static inline void __remove_wait_queue(wait_queue_head_t *head,
141 list_del(&old->task_list); 141 list_del(&old->task_list);
142} 142}
143 143
144void FASTCALL(__wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key)); 144void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key);
145extern void FASTCALL(__wake_up_locked(wait_queue_head_t *q, unsigned int mode)); 145extern void __wake_up_locked(wait_queue_head_t *q, unsigned int mode);
146extern void FASTCALL(__wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr)); 146extern void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr);
147void FASTCALL(__wake_up_bit(wait_queue_head_t *, void *, int)); 147void __wake_up_bit(wait_queue_head_t *, void *, int);
148int FASTCALL(__wait_on_bit(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned)); 148int __wait_on_bit(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned);
149int FASTCALL(__wait_on_bit_lock(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned)); 149int __wait_on_bit_lock(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned);
150void FASTCALL(wake_up_bit(void *, int)); 150void wake_up_bit(void *, int);
151int FASTCALL(out_of_line_wait_on_bit(void *, int, int (*)(void *), unsigned)); 151int out_of_line_wait_on_bit(void *, int, int (*)(void *), unsigned);
152int FASTCALL(out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned)); 152int out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned);
153wait_queue_head_t *FASTCALL(bit_waitqueue(void *, int)); 153wait_queue_head_t *bit_waitqueue(void *, int);
154 154
155#define wake_up(x) __wake_up(x, TASK_NORMAL, 1, NULL) 155#define wake_up(x) __wake_up(x, TASK_NORMAL, 1, NULL)
156#define wake_up_nr(x, nr) __wake_up(x, TASK_NORMAL, nr, NULL) 156#define wake_up_nr(x, nr) __wake_up(x, TASK_NORMAL, nr, NULL)
@@ -437,11 +437,9 @@ extern long interruptible_sleep_on_timeout(wait_queue_head_t *q,
437/* 437/*
438 * Waitqueues which are removed from the waitqueue_head at wakeup time 438 * Waitqueues which are removed from the waitqueue_head at wakeup time
439 */ 439 */
440void FASTCALL(prepare_to_wait(wait_queue_head_t *q, 440void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state);
441 wait_queue_t *wait, int state)); 441void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state);
442void FASTCALL(prepare_to_wait_exclusive(wait_queue_head_t *q, 442void finish_wait(wait_queue_head_t *q, wait_queue_t *wait);
443 wait_queue_t *wait, int state));
444void FASTCALL(finish_wait(wait_queue_head_t *q, wait_queue_t *wait));
445int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key); 443int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
446int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key); 444int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
447 445
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index 7f28c32d9aca..542526c6e8ef 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -178,18 +178,17 @@ __create_workqueue_key(const char *name, int singlethread,
178 178
179extern void destroy_workqueue(struct workqueue_struct *wq); 179extern void destroy_workqueue(struct workqueue_struct *wq);
180 180
181extern int FASTCALL(queue_work(struct workqueue_struct *wq, struct work_struct *work)); 181extern int queue_work(struct workqueue_struct *wq, struct work_struct *work);
182extern int FASTCALL(queue_delayed_work(struct workqueue_struct *wq, 182extern int queue_delayed_work(struct workqueue_struct *wq,
183 struct delayed_work *work, unsigned long delay)); 183 struct delayed_work *work, unsigned long delay);
184extern int queue_delayed_work_on(int cpu, struct workqueue_struct *wq, 184extern int queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
185 struct delayed_work *work, unsigned long delay); 185 struct delayed_work *work, unsigned long delay);
186 186
187extern void FASTCALL(flush_workqueue(struct workqueue_struct *wq)); 187extern void flush_workqueue(struct workqueue_struct *wq);
188extern void flush_scheduled_work(void); 188extern void flush_scheduled_work(void);
189 189
190extern int FASTCALL(schedule_work(struct work_struct *work)); 190extern int schedule_work(struct work_struct *work);
191extern int FASTCALL(schedule_delayed_work(struct delayed_work *work, 191extern int schedule_delayed_work(struct delayed_work *work, unsigned long delay);
192 unsigned long delay));
193extern int schedule_delayed_work_on(int cpu, struct delayed_work *work, 192extern int schedule_delayed_work_on(int cpu, struct delayed_work *work,
194 unsigned long delay); 193 unsigned long delay);
195extern int schedule_on_each_cpu(work_func_t func); 194extern int schedule_on_each_cpu(work_func_t func);
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index d1299e999723..530ff4c553f8 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -6,6 +6,7 @@
6#include <linux/types.h> 6#include <linux/types.h>
7#include <linux/workqueue.h> 7#include <linux/workqueue.h>
8#include <linux/mutex.h> 8#include <linux/mutex.h>
9#include <scsi/scsi.h>
9 10
10struct request_queue; 11struct request_queue;
11struct block_device; 12struct block_device;
@@ -25,12 +26,15 @@ struct blk_queue_tags;
25 * NONE: Self evident. Host adapter is not capable of scatter-gather. 26 * NONE: Self evident. Host adapter is not capable of scatter-gather.
26 * ALL: Means that the host adapter module can do scatter-gather, 27 * ALL: Means that the host adapter module can do scatter-gather,
27 * and that there is no limit to the size of the table to which 28 * and that there is no limit to the size of the table to which
28 * we scatter/gather data. 29 * we scatter/gather data. The value we set here is the maximum
30 * single element sglist. To use chained sglists, the adapter
31 * has to set a value beyond ALL (and correctly use the chain
32 * handling API.
29 * Anything else: Indicates the maximum number of chains that can be 33 * Anything else: Indicates the maximum number of chains that can be
30 * used in one scatter-gather request. 34 * used in one scatter-gather request.
31 */ 35 */
32#define SG_NONE 0 36#define SG_NONE 0
33#define SG_ALL 0xff 37#define SG_ALL SCSI_MAX_SG_SEGMENTS
34 38
35#define MODE_UNKNOWN 0x00 39#define MODE_UNKNOWN 0x00
36#define MODE_INITIATOR 0x01 40#define MODE_INITIATOR 0x01