diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-02-14 15:05:41 -0500 |
---|---|---|
committer | Christoph Lameter <clameter@sgi.com> | 2008-02-14 15:05:41 -0500 |
commit | c5974932c1e8514d3478573bb52beebeb2c786dd (patch) | |
tree | a204156fbb0036fb76e89ceffa15a30e90bc3f75 /include | |
parent | 9e40ade04c45a46f6b3d647e0bdac1a32bfaa3a9 (diff) | |
parent | e760e716d47b48caf98da348368fd41b4a9b9e7e (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'include')
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 | */ |
223 | acpi_status | 223 | acpi_status |
224 | acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, | 224 | acpi_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 | ||
227 | acpi_status | 227 | acpi_status |
228 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, | 228 | acpi_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 | ||
45 | extern unsigned long __fastcall kmap_high(struct page *page); | 45 | extern unsigned long kmap_high(struct page *page); |
46 | extern void __fastcall kunmap_high(struct page *page); | 46 | extern void kunmap_high(struct page *page); |
47 | 47 | ||
48 | static inline unsigned long kmap(struct page *page) | 48 | static 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__ | ||
61 | struct sigcontext { | 62 | struct 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 | */ | ||
90 | struct 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__ | ||
105 | struct sigcontext { | 136 | struct 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 | */ | ||
170 | struct 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 */ |
207 | extern unsigned aio_max_size; | 207 | extern unsigned aio_max_size; |
208 | 208 | ||
209 | extern ssize_t FASTCALL(wait_on_sync_kiocb(struct kiocb *iocb)); | 209 | extern ssize_t wait_on_sync_kiocb(struct kiocb *iocb); |
210 | extern int FASTCALL(aio_put_req(struct kiocb *iocb)); | 210 | extern int aio_put_req(struct kiocb *iocb); |
211 | extern void FASTCALL(kick_iocb(struct kiocb *iocb)); | 211 | extern void kick_iocb(struct kiocb *iocb); |
212 | extern int FASTCALL(aio_complete(struct kiocb *iocb, long res, long res2)); | 212 | extern int aio_complete(struct kiocb *iocb, long res, long res2); |
213 | extern void FASTCALL(__put_ioctx(struct kioctx *ctx)); | 213 | extern void __put_ioctx(struct kioctx *ctx); |
214 | struct mm_struct; | 214 | struct mm_struct; |
215 | extern void FASTCALL(exit_aio(struct mm_struct *mm)); | 215 | extern void exit_aio(struct mm_struct *mm); |
216 | extern struct kioctx *lookup_ioctx(unsigned long ctx_id); | 216 | extern struct kioctx *lookup_ioctx(unsigned long ctx_id); |
217 | extern int FASTCALL(io_submit_one(struct kioctx *ctx, | 217 | extern 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: */ |
221 | struct kioctx *lookup_ioctx(unsigned long ctx_id); | 221 | struct kioctx *lookup_ioctx(unsigned long ctx_id); |
222 | int FASTCALL(io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, | 222 | int 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 | ||
147 | void FASTCALL(mark_buffer_dirty(struct buffer_head *bh)); | 147 | void mark_buffer_dirty(struct buffer_head *bh); |
148 | void init_buffer(struct buffer_head *, bh_end_io_t *, void *); | 148 | void init_buffer(struct buffer_head *, bh_end_io_t *, void *); |
149 | void set_bh_page(struct buffer_head *bh, | 149 | void 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 | |||
185 | void invalidate_bh_lrus(void); | 185 | void invalidate_bh_lrus(void); |
186 | struct buffer_head *alloc_buffer_head(gfp_t gfp_flags); | 186 | struct buffer_head *alloc_buffer_head(gfp_t gfp_flags); |
187 | void free_buffer_head(struct buffer_head * bh); | 187 | void free_buffer_head(struct buffer_head * bh); |
188 | void FASTCALL(unlock_buffer(struct buffer_head *bh)); | 188 | void unlock_buffer(struct buffer_head *bh); |
189 | void FASTCALL(__lock_buffer(struct buffer_head *bh)); | 189 | void __lock_buffer(struct buffer_head *bh); |
190 | void ll_rw_block(int, int, struct buffer_head * bh[]); | 190 | void ll_rw_block(int, int, struct buffer_head * bh[]); |
191 | int sync_dirty_buffer(struct buffer_head *bh); | 191 | int sync_dirty_buffer(struct buffer_head *bh); |
192 | int submit_bh(int, struct buffer_head *); | 192 | int 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 |
29 | SUBSYS(cpu_cgroup) | 29 | SUBSYS(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 | ||
60 | extern struct kmem_cache *filp_cachep; | 60 | extern struct kmem_cache *filp_cachep; |
61 | 61 | ||
62 | extern void FASTCALL(__fput(struct file *)); | 62 | extern void __fput(struct file *); |
63 | extern void FASTCALL(fput(struct file *)); | 63 | extern void fput(struct file *); |
64 | 64 | ||
65 | struct file_operations; | 65 | struct file_operations; |
66 | struct vfsmount; | 66 | struct 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 | ||
80 | extern struct file * FASTCALL(fget(unsigned int fd)); | 80 | extern struct file *fget(unsigned int fd); |
81 | extern struct file * FASTCALL(fget_light(unsigned int fd, int *fput_needed)); | 81 | extern struct file *fget_light(unsigned int fd, int *fput_needed); |
82 | extern void FASTCALL(set_close_on_exec(unsigned int fd, int flag)); | 82 | extern void set_close_on_exec(unsigned int fd, int flag); |
83 | extern void put_filp(struct file *); | 83 | extern void put_filp(struct file *); |
84 | extern int get_unused_fd(void); | 84 | extern int get_unused_fd(void); |
85 | extern int get_unused_fd_flags(int flags); | 85 | extern int get_unused_fd_flags(int flags); |
86 | extern void FASTCALL(put_unused_fd(unsigned int fd)); | 86 | extern void put_unused_fd(unsigned int fd); |
87 | struct kmem_cache; | 87 | struct kmem_cache; |
88 | 88 | ||
89 | extern int expand_files(struct files_struct *, int nr); | 89 | extern 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 | ||
113 | extern void FASTCALL(fd_install(unsigned int fd, struct file * file)); | 113 | extern void fd_install(unsigned int fd, struct file *file); |
114 | 114 | ||
115 | struct task_struct; | 115 | struct task_struct; |
116 | 116 | ||
117 | struct files_struct *get_files_struct(struct task_struct *); | 117 | struct files_struct *get_files_struct(struct task_struct *); |
118 | void FASTCALL(put_files_struct(struct files_struct *fs)); | 118 | void put_files_struct(struct files_struct *fs); |
119 | void reset_files_struct(struct task_struct *, struct files_struct *); | 119 | void reset_files_struct(struct task_struct *, struct files_struct *); |
120 | 120 | ||
121 | extern struct kmem_cache *files_cachep; | 121 | extern 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) { } | |||
172 | static inline void arch_alloc_page(struct page *page, int order) { } | 172 | static inline void arch_alloc_page(struct page *page, int order) { } |
173 | #endif | 173 | #endif |
174 | 174 | ||
175 | extern struct page * | 175 | extern struct page *__alloc_pages(gfp_t, unsigned int, struct zonelist *); |
176 | FASTCALL(__alloc_pages(gfp_t, unsigned int, struct zonelist *)); | ||
177 | 176 | ||
178 | static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask, | 177 | static 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 | ||
212 | extern unsigned long FASTCALL(__get_free_pages(gfp_t gfp_mask, unsigned int order)); | 211 | extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order); |
213 | extern unsigned long FASTCALL(get_zeroed_page(gfp_t gfp_mask)); | 212 | extern 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 | ||
221 | extern void FASTCALL(__free_pages(struct page *page, unsigned int order)); | 220 | extern void __free_pages(struct page *page, unsigned int order); |
222 | extern void FASTCALL(free_pages(unsigned long addr, unsigned int order)); | 221 | extern void free_pages(unsigned long addr, unsigned int order); |
223 | extern void FASTCALL(free_hot_page(struct page *page)); | 222 | extern void free_hot_page(struct page *page); |
224 | extern void FASTCALL(free_cold_page(struct page *page)); | 223 | extern 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); | |||
33 | void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed); | 33 | void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed); |
34 | 34 | ||
35 | extern unsigned long max_huge_pages; | 35 | extern unsigned long max_huge_pages; |
36 | extern unsigned long sysctl_overcommit_huge_pages; | ||
36 | extern unsigned long hugepages_treat_as_movable; | 37 | extern unsigned long hugepages_treat_as_movable; |
37 | extern unsigned long nr_overcommit_huge_pages; | ||
38 | extern const unsigned long hugetlb_zero, hugetlb_infinity; | 38 | extern const unsigned long hugetlb_zero, hugetlb_infinity; |
39 | extern int sysctl_hugetlb_shm_group; | 39 | extern 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); | |||
273 | extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data); | 273 | extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data); |
274 | extern void softirq_init(void); | 274 | extern 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) |
276 | extern void FASTCALL(raise_softirq_irqoff(unsigned int nr)); | 276 | extern void raise_softirq_irqoff(unsigned int nr); |
277 | extern void FASTCALL(raise_softirq(unsigned int nr)); | 277 | extern 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 | ||
344 | extern void FASTCALL(__tasklet_schedule(struct tasklet_struct *t)); | 344 | extern void __tasklet_schedule(struct tasklet_struct *t); |
345 | 345 | ||
346 | static inline void tasklet_schedule(struct tasklet_struct *t) | 346 | static 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 | ||
352 | extern void FASTCALL(__tasklet_hi_schedule(struct tasklet_struct *t)); | 352 | extern void __tasklet_hi_schedule(struct tasklet_struct *t); |
353 | 353 | ||
354 | static inline void tasklet_hi_schedule(struct tasklet_struct *t) | 354 | static 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 |
291 | extern unsigned int __do_IRQ(unsigned int irq); | 290 | extern 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 | */ |
30 | typedef void marker_probe_func(const struct marker *mdata, | 32 | typedef 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 | |||
35 | struct marker_probe_closure { | ||
36 | marker_probe_func *func; /* Callback */ | ||
37 | void *probe_private; /* Private probe data */ | ||
38 | }; | ||
32 | 39 | ||
33 | struct marker { | 40 | struct 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 | ||
74 | extern void marker_update_probe_range(struct marker *begin, | 80 | extern 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) |
79 | static inline void marker_update_probe_range(struct marker *begin, | 85 | static 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 | ||
107 | extern marker_probe_func __mark_empty_function; | 111 | extern marker_probe_func __mark_empty_function; |
108 | 112 | ||
113 | extern void marker_probe_cb(const struct marker *mdata, | ||
114 | void *call_private, const char *fmt, ...); | ||
115 | extern 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 | */ |
113 | extern int marker_probe_register(const char *name, const char *format, | 122 | extern 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 | */ |
119 | extern void *marker_probe_unregister(const char *name); | 128 | extern 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 | */ |
123 | extern void *marker_probe_unregister_private_data(void *private); | 133 | extern int marker_probe_unregister_private_data(marker_probe_func *probe, |
134 | void *probe_private); | ||
124 | 135 | ||
125 | extern int marker_arm(const char *name); | 136 | extern void *marker_get_private_data(const char *name, marker_probe_func *probe, |
126 | extern int marker_disarm(const char *name); | 137 | int num); |
127 | extern 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); | |||
786 | int __set_page_dirty_no_writeback(struct page *page); | 786 | int __set_page_dirty_no_writeback(struct page *page); |
787 | int redirty_page_for_writepage(struct writeback_control *wbc, | 787 | int redirty_page_for_writepage(struct writeback_control *wbc, |
788 | struct page *page); | 788 | struct page *page); |
789 | int FASTCALL(set_page_dirty(struct page *page)); | 789 | int set_page_dirty(struct page *page); |
790 | int set_page_dirty_lock(struct page *page); | 790 | int set_page_dirty_lock(struct page *page); |
791 | int clear_page_dirty_for_io(struct page *page); | 791 | int clear_page_dirty_for_io(struct page *page); |
792 | 792 | ||
@@ -829,7 +829,7 @@ extern void unregister_shrinker(struct shrinker *); | |||
829 | 829 | ||
830 | int vma_wants_writenotify(struct vm_area_struct *vma); | 830 | int vma_wants_writenotify(struct vm_area_struct *vma); |
831 | 831 | ||
832 | extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)); | 832 | extern 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 |
835 | static inline int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, | 835 | static 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 | ||
466 | extern void print_modules(void); | 466 | extern void print_modules(void); |
467 | 467 | ||
468 | extern void module_update_markers(struct module *probe_module, int *refcount); | 468 | extern 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 | ||
21 | extern void FASTCALL(mutex_destroy(struct mutex *lock)); | 21 | extern 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 | ||
65 | extern int FASTCALL(__user_walk(const char __user *, unsigned, struct nameidata *)); | 65 | extern int __user_walk(const char __user *, unsigned, struct nameidata *); |
66 | extern int FASTCALL(__user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *)); | 66 | extern 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) |
71 | extern int FASTCALL(path_lookup(const char *, unsigned, struct nameidata *)); | 71 | extern int path_lookup(const char *, unsigned, struct nameidata *); |
72 | extern int vfs_path_lookup(struct dentry *, struct vfsmount *, | 72 | extern int vfs_path_lookup(struct dentry *, struct vfsmount *, |
73 | const char *, unsigned int, struct nameidata *); | 73 | const char *, unsigned int, struct nameidata *); |
74 | extern void path_release(struct nameidata *); | 74 | extern 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 | ||
325 | extern void FASTCALL(__napi_schedule(struct napi_struct *n)); | 325 | extern void __napi_schedule(struct napi_struct *n); |
326 | 326 | ||
327 | static inline int napi_disable_pending(struct napi_struct *n) | 327 | static 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 | ||
159 | extern void FASTCALL(__lock_page(struct page *page)); | 159 | extern void __lock_page(struct page *page); |
160 | extern int FASTCALL(__lock_page_killable(struct page *page)); | 160 | extern int __lock_page_killable(struct page *page); |
161 | extern void FASTCALL(__lock_page_nosync(struct page *page)); | 161 | extern void __lock_page_nosync(struct page *page); |
162 | extern void FASTCALL(unlock_page(struct page *page)); | 162 | extern 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 | */ |
202 | extern void FASTCALL(wait_on_page_bit(struct page *page, int bit_nr)); | 202 | extern 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 | ||
82 | extern void FASTCALL(put_pid(struct pid *pid)); | 82 | extern void put_pid(struct pid *pid); |
83 | extern struct task_struct *FASTCALL(pid_task(struct pid *pid, enum pid_type)); | 83 | extern struct task_struct *pid_task(struct pid *pid, enum pid_type); |
84 | extern struct task_struct *FASTCALL(get_pid_task(struct pid *pid, | 84 | extern struct task_struct *get_pid_task(struct pid *pid, enum pid_type); |
85 | enum pid_type)); | ||
86 | 85 | ||
87 | extern struct pid *get_task_pid(struct task_struct *task, enum pid_type type); | 86 | extern 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 | */ |
93 | extern int FASTCALL(attach_pid(struct task_struct *task, | 92 | extern int attach_pid(struct task_struct *task, enum pid_type type, |
94 | enum pid_type type, struct pid *pid)); | 93 | struct pid *pid); |
95 | extern void FASTCALL(detach_pid(struct task_struct *task, enum pid_type)); | 94 | extern void detach_pid(struct task_struct *task, enum pid_type); |
96 | extern void FASTCALL(transfer_pid(struct task_struct *old, | 95 | extern 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 | ||
99 | struct pid_namespace; | 98 | struct pid_namespace; |
100 | extern struct pid_namespace init_pid_ns; | 99 | extern 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 | */ |
112 | extern struct pid *FASTCALL(find_pid_ns(int nr, struct pid_namespace *ns)); | 111 | extern struct pid *find_pid_ns(int nr, struct pid_namespace *ns); |
113 | extern struct pid *find_vpid(int nr); | 112 | extern struct pid *find_vpid(int nr); |
114 | extern struct pid *find_pid(int nr); | 113 | extern struct pid *find_pid(int nr); |
115 | 114 | ||
@@ -121,7 +120,7 @@ extern struct pid *find_ge_pid(int nr, struct pid_namespace *); | |||
121 | int next_pidmap(struct pid_namespace *pid_ns, int last); | 120 | int next_pidmap(struct pid_namespace *pid_ns, int last); |
122 | 121 | ||
123 | extern struct pid *alloc_pid(struct pid_namespace *ns); | 122 | extern struct pid *alloc_pid(struct pid_namespace *ns); |
124 | extern void FASTCALL(free_pid(struct pid *pid)); | 123 | extern 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 | ||
63 | extern void FASTCALL(__down_read(struct rw_semaphore *sem)); | 63 | extern void __down_read(struct rw_semaphore *sem); |
64 | extern int FASTCALL(__down_read_trylock(struct rw_semaphore *sem)); | 64 | extern int __down_read_trylock(struct rw_semaphore *sem); |
65 | extern void FASTCALL(__down_write(struct rw_semaphore *sem)); | 65 | extern void __down_write(struct rw_semaphore *sem); |
66 | extern void FASTCALL(__down_write_nested(struct rw_semaphore *sem, int subclass)); | 66 | extern void __down_write_nested(struct rw_semaphore *sem, int subclass); |
67 | extern int FASTCALL(__down_write_trylock(struct rw_semaphore *sem)); | 67 | extern int __down_write_trylock(struct rw_semaphore *sem); |
68 | extern void FASTCALL(__up_read(struct rw_semaphore *sem)); | 68 | extern void __up_read(struct rw_semaphore *sem); |
69 | extern void FASTCALL(__up_write(struct rw_semaphore *sem)); | 69 | extern void __up_write(struct rw_semaphore *sem); |
70 | extern void FASTCALL(__downgrade_write(struct rw_semaphore *sem)); | 70 | extern void __downgrade_write(struct rw_semaphore *sem); |
71 | 71 | ||
72 | static inline int rwsem_is_locked(struct rw_semaphore *sem) | 72 | static 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[]; | |||
323 | extern int in_sched_functions(unsigned long addr); | 323 | extern int in_sched_functions(unsigned long addr); |
324 | 324 | ||
325 | #define MAX_SCHEDULE_TIMEOUT LONG_MAX | 325 | #define MAX_SCHEDULE_TIMEOUT LONG_MAX |
326 | extern signed long FASTCALL(schedule_timeout(signed long timeout)); | 326 | extern signed long schedule_timeout(signed long timeout); |
327 | extern signed long schedule_timeout_interruptible(signed long timeout); | 327 | extern signed long schedule_timeout_interruptible(signed long timeout); |
328 | extern signed long schedule_timeout_killable(signed long timeout); | 328 | extern signed long schedule_timeout_killable(signed long timeout); |
329 | extern signed long schedule_timeout_uninterruptible(signed long timeout); | 329 | extern 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; | |||
1541 | extern unsigned int sysctl_sched_features; | 1541 | extern unsigned int sysctl_sched_features; |
1542 | extern unsigned int sysctl_sched_migration_cost; | 1542 | extern unsigned int sysctl_sched_migration_cost; |
1543 | extern unsigned int sysctl_sched_nr_migrate; | 1543 | extern unsigned int sysctl_sched_nr_migrate; |
1544 | extern unsigned int sysctl_sched_rt_period; | ||
1545 | extern 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) |
1547 | extern unsigned int sysctl_sched_min_bal_int_shares; | 1545 | extern unsigned int sysctl_sched_min_bal_int_shares; |
1548 | extern unsigned int sysctl_sched_max_bal_int_shares; | 1546 | extern 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 |
1553 | extern unsigned int sysctl_sched_rt_period; | ||
1554 | extern int sysctl_sched_rt_runtime; | ||
1555 | 1555 | ||
1556 | extern unsigned int sysctl_sched_compat_yield; | 1556 | extern unsigned int sysctl_sched_compat_yield; |
1557 | 1557 | ||
@@ -1648,10 +1648,10 @@ extern void release_uids(struct user_namespace *ns); | |||
1648 | 1648 | ||
1649 | extern void do_timer(unsigned long ticks); | 1649 | extern void do_timer(unsigned long ticks); |
1650 | 1650 | ||
1651 | extern int FASTCALL(wake_up_state(struct task_struct * tsk, unsigned int state)); | 1651 | extern int wake_up_state(struct task_struct *tsk, unsigned int state); |
1652 | extern int FASTCALL(wake_up_process(struct task_struct * tsk)); | 1652 | extern int wake_up_process(struct task_struct *tsk); |
1653 | extern void FASTCALL(wake_up_new_task(struct task_struct * tsk, | 1653 | extern 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) | |||
1741 | extern struct mm_struct * mm_alloc(void); | 1741 | extern 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 */ |
1744 | extern void FASTCALL(__mmdrop(struct mm_struct *)); | 1744 | extern void __mmdrop(struct mm_struct *); |
1745 | static inline void mmdrop(struct mm_struct * mm) | 1745 | static 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 | ||
1928 | extern int FASTCALL(__fatal_signal_pending(struct task_struct *p)); | 1928 | extern int __fatal_signal_pending(struct task_struct *p); |
1929 | 1929 | ||
1930 | static inline int fatal_signal_pending(struct task_struct *p) | 1930 | static 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 | ||
2028 | extern void normalize_rt_tasks(void); | 2028 | extern void normalize_rt_tasks(void); |
2029 | 2029 | ||
2030 | #ifdef CONFIG_FAIR_GROUP_SCHED | 2030 | #ifdef CONFIG_GROUP_SCHED |
2031 | 2031 | ||
2032 | extern struct task_group init_task_group; | 2032 | extern struct task_group init_task_group; |
2033 | 2033 | ||
2034 | extern struct task_group *sched_create_group(void); | 2034 | extern struct task_group *sched_create_group(void); |
2035 | extern void sched_destroy_group(struct task_group *tg); | 2035 | extern void sched_destroy_group(struct task_group *tg); |
2036 | extern void sched_move_task(struct task_struct *tsk); | 2036 | extern void sched_move_task(struct task_struct *tsk); |
2037 | #ifdef CONFIG_FAIR_GROUP_SCHED | ||
2037 | extern int sched_group_set_shares(struct task_group *tg, unsigned long shares); | 2038 | extern int sched_group_set_shares(struct task_group *tg, unsigned long shares); |
2038 | extern unsigned long sched_group_shares(struct task_group *tg); | 2039 | extern unsigned long sched_group_shares(struct task_group *tg); |
2039 | 2040 | #endif | |
2041 | #ifdef CONFIG_RT_GROUP_SCHED | ||
2042 | extern int sched_group_set_rt_runtime(struct task_group *tg, | ||
2043 | long rt_runtime_us); | ||
2044 | extern 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 */ |
174 | extern void FASTCALL(lru_cache_add(struct page *)); | 174 | extern void lru_cache_add(struct page *); |
175 | extern void FASTCALL(lru_cache_add_active(struct page *)); | 175 | extern void lru_cache_add_active(struct page *); |
176 | extern void FASTCALL(activate_page(struct page *)); | 176 | extern void activate_page(struct page *); |
177 | extern void FASTCALL(mark_page_accessed(struct page *)); | 177 | extern void mark_page_accessed(struct page *); |
178 | extern void lru_add_drain(void); | 178 | extern void lru_add_drain(void); |
179 | extern int lru_add_drain_all(void); | 179 | extern int lru_add_drain_all(void); |
180 | extern int rotate_reclaimable_page(struct page *page); | 180 | extern 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 | ||
120 | extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); | 120 | extern void add_wait_queue(wait_queue_head_t *q, wait_queue_t *wait); |
121 | extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)); | 121 | extern void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t *wait); |
122 | extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); | 122 | extern void remove_wait_queue(wait_queue_head_t *q, wait_queue_t *wait); |
123 | 123 | ||
124 | static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new) | 124 | static 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 | ||
144 | void FASTCALL(__wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key)); | 144 | void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key); |
145 | extern void FASTCALL(__wake_up_locked(wait_queue_head_t *q, unsigned int mode)); | 145 | extern void __wake_up_locked(wait_queue_head_t *q, unsigned int mode); |
146 | extern void FASTCALL(__wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr)); | 146 | extern void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr); |
147 | void FASTCALL(__wake_up_bit(wait_queue_head_t *, void *, int)); | 147 | void __wake_up_bit(wait_queue_head_t *, void *, int); |
148 | int FASTCALL(__wait_on_bit(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned)); | 148 | int __wait_on_bit(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned); |
149 | int FASTCALL(__wait_on_bit_lock(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned)); | 149 | int __wait_on_bit_lock(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned); |
150 | void FASTCALL(wake_up_bit(void *, int)); | 150 | void wake_up_bit(void *, int); |
151 | int FASTCALL(out_of_line_wait_on_bit(void *, int, int (*)(void *), unsigned)); | 151 | int out_of_line_wait_on_bit(void *, int, int (*)(void *), unsigned); |
152 | int FASTCALL(out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned)); | 152 | int out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned); |
153 | wait_queue_head_t *FASTCALL(bit_waitqueue(void *, int)); | 153 | wait_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 | */ |
440 | void FASTCALL(prepare_to_wait(wait_queue_head_t *q, | 440 | void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state); |
441 | wait_queue_t *wait, int state)); | 441 | void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state); |
442 | void FASTCALL(prepare_to_wait_exclusive(wait_queue_head_t *q, | 442 | void finish_wait(wait_queue_head_t *q, wait_queue_t *wait); |
443 | wait_queue_t *wait, int state)); | ||
444 | void FASTCALL(finish_wait(wait_queue_head_t *q, wait_queue_t *wait)); | ||
445 | int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key); | 443 | int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key); |
446 | int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key); | 444 | int 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 | ||
179 | extern void destroy_workqueue(struct workqueue_struct *wq); | 179 | extern void destroy_workqueue(struct workqueue_struct *wq); |
180 | 180 | ||
181 | extern int FASTCALL(queue_work(struct workqueue_struct *wq, struct work_struct *work)); | 181 | extern int queue_work(struct workqueue_struct *wq, struct work_struct *work); |
182 | extern int FASTCALL(queue_delayed_work(struct workqueue_struct *wq, | 182 | extern int queue_delayed_work(struct workqueue_struct *wq, |
183 | struct delayed_work *work, unsigned long delay)); | 183 | struct delayed_work *work, unsigned long delay); |
184 | extern int queue_delayed_work_on(int cpu, struct workqueue_struct *wq, | 184 | extern 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 | ||
187 | extern void FASTCALL(flush_workqueue(struct workqueue_struct *wq)); | 187 | extern void flush_workqueue(struct workqueue_struct *wq); |
188 | extern void flush_scheduled_work(void); | 188 | extern void flush_scheduled_work(void); |
189 | 189 | ||
190 | extern int FASTCALL(schedule_work(struct work_struct *work)); | 190 | extern int schedule_work(struct work_struct *work); |
191 | extern int FASTCALL(schedule_delayed_work(struct delayed_work *work, | 191 | extern int schedule_delayed_work(struct delayed_work *work, unsigned long delay); |
192 | unsigned long delay)); | ||
193 | extern int schedule_delayed_work_on(int cpu, struct delayed_work *work, | 192 | extern int schedule_delayed_work_on(int cpu, struct delayed_work *work, |
194 | unsigned long delay); | 193 | unsigned long delay); |
195 | extern int schedule_on_each_cpu(work_func_t func); | 194 | extern 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 | ||
10 | struct request_queue; | 11 | struct request_queue; |
11 | struct block_device; | 12 | struct 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 |