aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/Kbuild2
-rw-r--r--include/linux/acpi.h1
-rw-r--r--include/linux/aio.h20
-rw-r--r--include/linux/audit.h5
-rw-r--r--include/linux/buffer_head.h6
-rw-r--r--include/linux/cgroup_subsys.h2
-rw-r--r--include/linux/configfs.h1
-rw-r--r--include/linux/cpuidle.h2
-rw-r--r--include/linux/dcache.h5
-rw-r--r--include/linux/dcookies.h15
-rw-r--r--include/linux/etherdevice.h3
-rw-r--r--include/linux/file.h16
-rw-r--r--include/linux/fs.h6
-rw-r--r--include/linux/fs_struct.h10
-rw-r--r--include/linux/gfp.h15
-rw-r--r--include/linux/hdsmart.h4
-rw-r--r--include/linux/hid.h2
-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/ktime.h2
-rw-r--r--include/linux/linkage.h5
-rw-r--r--include/linux/maple.h100
-rw-r--r--include/linux/marker.h68
-rw-r--r--include/linux/mm.h4
-rw-r--r--include/linux/module.h5
-rw-r--r--include/linux/moduleparam.h12
-rw-r--r--include/linux/mutex-debug.h2
-rw-r--r--include/linux/namei.h17
-rw-r--r--include/linux/netdevice.h2
-rw-r--r--include/linux/nfsd/export.h8
-rw-r--r--include/linux/pagemap.h10
-rw-r--r--include/linux/path.h15
-rw-r--r--include/linux/pci_ids.h1
-rw-r--r--include/linux/pid.h21
-rw-r--r--include/linux/proc_fs.h2
-rw-r--r--include/linux/rwsem-spinlock.h16
-rw-r--r--include/linux/sched.h32
-rw-r--r--include/linux/seq_file.h5
-rw-r--r--include/linux/serial_core.h2
-rw-r--r--include/linux/slub_def.h15
-rw-r--r--include/linux/swap.h8
-rw-r--r--include/linux/videodev.h1
-rw-r--r--include/linux/videodev2.h1
-rw-r--r--include/linux/wait.h34
-rw-r--r--include/linux/workqueue.h13
46 files changed, 280 insertions, 247 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 5cae9b5960ea..aada32fffec2 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -70,7 +70,6 @@ header-y += fuse.h
70header-y += genetlink.h 70header-y += genetlink.h
71header-y += gen_stats.h 71header-y += gen_stats.h
72header-y += gigaset_dev.h 72header-y += gigaset_dev.h
73header-y += hdsmart.h
74header-y += hysdn_if.h 73header-y += hysdn_if.h
75header-y += i2o-dev.h 74header-y += i2o-dev.h
76header-y += i8k.h 75header-y += i8k.h
@@ -211,6 +210,7 @@ unifdef-y += hayesesp.h
211unifdef-y += hdlcdrv.h 210unifdef-y += hdlcdrv.h
212unifdef-y += hdlc.h 211unifdef-y += hdlc.h
213unifdef-y += hdreg.h 212unifdef-y += hdreg.h
213unifdef-y += hdsmart.h
214unifdef-y += hiddev.h 214unifdef-y += hiddev.h
215unifdef-y += hpet.h 215unifdef-y += hpet.h
216unifdef-y += i2c.h 216unifdef-y += i2c.h
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index ddbe7efe590e..2c7e003356ac 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -203,6 +203,7 @@ extern bool wmi_has_guid(const char *guid);
203extern int acpi_blacklisted(void); 203extern int acpi_blacklisted(void);
204#ifdef CONFIG_DMI 204#ifdef CONFIG_DMI
205extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d); 205extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d);
206extern int acpi_osi_setup(char *str);
206#endif 207#endif
207 208
208#ifdef CONFIG_ACPI_NUMA 209#ifdef CONFIG_ACPI_NUMA
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/audit.h b/include/linux/audit.h
index 97153027207a..2af9ec025015 100644
--- a/include/linux/audit.h
+++ b/include/linux/audit.h
@@ -534,8 +534,7 @@ extern void audit_log_n_untrustedstring(struct audit_buffer *ab,
534 const char *string); 534 const char *string);
535extern void audit_log_d_path(struct audit_buffer *ab, 535extern void audit_log_d_path(struct audit_buffer *ab,
536 const char *prefix, 536 const char *prefix,
537 struct dentry *dentry, 537 struct path *path);
538 struct vfsmount *vfsmnt);
539extern void audit_log_lost(const char *message); 538extern void audit_log_lost(const char *message);
540 /* Private API (for audit.c only) */ 539 /* Private API (for audit.c only) */
541extern int audit_filter_user(struct netlink_skb_parms *cb, int type); 540extern int audit_filter_user(struct netlink_skb_parms *cb, int type);
@@ -552,7 +551,7 @@ extern int audit_enabled;
552#define audit_log_hex(a,b,l) do { ; } while (0) 551#define audit_log_hex(a,b,l) do { ; } while (0)
553#define audit_log_untrustedstring(a,s) do { ; } while (0) 552#define audit_log_untrustedstring(a,s) do { ; } while (0)
554#define audit_log_n_untrustedstring(a,n,s) do { ; } while (0) 553#define audit_log_n_untrustedstring(a,n,s) do { ; } while (0)
555#define audit_log_d_path(b,p,d,v) do { ; } while (0) 554#define audit_log_d_path(b, p, d) do { ; } while (0)
556#define audit_enabled 0 555#define audit_enabled 0
557#endif 556#endif
558#endif 557#endif
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/configfs.h b/include/linux/configfs.h
index 8c6967f3fb11..4b287ad9371a 100644
--- a/include/linux/configfs.h
+++ b/include/linux/configfs.h
@@ -37,6 +37,7 @@
37 37
38#ifdef __KERNEL__ 38#ifdef __KERNEL__
39 39
40#include <linux/kernel.h>
40#include <linux/types.h> 41#include <linux/types.h>
41#include <linux/list.h> 42#include <linux/list.h>
42#include <linux/kref.h> 43#include <linux/kref.h>
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
index 385d45b616db..6b72a4584086 100644
--- a/include/linux/cpuidle.h
+++ b/include/linux/cpuidle.h
@@ -19,6 +19,7 @@
19 19
20#define CPUIDLE_STATE_MAX 8 20#define CPUIDLE_STATE_MAX 8
21#define CPUIDLE_NAME_LEN 16 21#define CPUIDLE_NAME_LEN 16
22#define CPUIDLE_DESC_LEN 32
22 23
23struct cpuidle_device; 24struct cpuidle_device;
24 25
@@ -29,6 +30,7 @@ struct cpuidle_device;
29 30
30struct cpuidle_state { 31struct cpuidle_state {
31 char name[CPUIDLE_NAME_LEN]; 32 char name[CPUIDLE_NAME_LEN];
33 char desc[CPUIDLE_DESC_LEN];
32 void *driver_data; 34 void *driver_data;
33 35
34 unsigned int flags; 36 unsigned int flags;
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index c2c153f97e8f..6bd646096fa6 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -10,6 +10,7 @@
10#include <linux/rcupdate.h> 10#include <linux/rcupdate.h>
11 11
12struct nameidata; 12struct nameidata;
13struct path;
13struct vfsmount; 14struct vfsmount;
14 15
15/* 16/*
@@ -300,8 +301,8 @@ extern int d_validate(struct dentry *, struct dentry *);
300 */ 301 */
301extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); 302extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...);
302 303
303extern char * d_path(struct dentry *, struct vfsmount *, char *, int); 304extern char *d_path(struct path *, char *, int);
304 305
305/* Allocation counts.. */ 306/* Allocation counts.. */
306 307
307/** 308/**
diff --git a/include/linux/dcookies.h b/include/linux/dcookies.h
index 98c69ab80c84..24c806f12a6c 100644
--- a/include/linux/dcookies.h
+++ b/include/linux/dcookies.h
@@ -13,6 +13,7 @@
13#ifdef CONFIG_PROFILING 13#ifdef CONFIG_PROFILING
14 14
15#include <linux/dcache.h> 15#include <linux/dcache.h>
16#include <linux/path.h>
16#include <linux/types.h> 17#include <linux/types.h>
17 18
18struct dcookie_user; 19struct dcookie_user;
@@ -43,8 +44,7 @@ void dcookie_unregister(struct dcookie_user * user);
43 * 44 *
44 * Returns 0 on success, with *cookie filled in 45 * Returns 0 on success, with *cookie filled in
45 */ 46 */
46int get_dcookie(struct dentry * dentry, struct vfsmount * vfsmnt, 47int get_dcookie(struct path *path, unsigned long *cookie);
47 unsigned long * cookie);
48 48
49#else 49#else
50 50
@@ -57,13 +57,12 @@ static inline void dcookie_unregister(struct dcookie_user * user)
57{ 57{
58 return; 58 return;
59} 59}
60 60
61static inline int get_dcookie(struct dentry * dentry, 61static inline int get_dcookie(struct path *path, unsigned long *cookie)
62 struct vfsmount * vfsmnt, unsigned long * cookie)
63{ 62{
64 return -ENOSYS; 63 return -ENOSYS;
65} 64}
66 65
67#endif /* CONFIG_PROFILING */ 66#endif /* CONFIG_PROFILING */
68 67
69#endif /* DCOOKIES_H */ 68#endif /* DCOOKIES_H */
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/fs.h b/include/linux/fs.h
index 18cfbf76ec5b..98ffb6ead434 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1284,8 +1284,10 @@ struct super_operations {
1284 * 1284 *
1285 * I_DIRTY_SYNC Inode is dirty, but doesn't have to be written on 1285 * I_DIRTY_SYNC Inode is dirty, but doesn't have to be written on
1286 * fdatasync(). i_atime is the usual cause. 1286 * fdatasync(). i_atime is the usual cause.
1287 * I_DIRTY_DATASYNC Inode is dirty and must be written on fdatasync(), f.e. 1287 * I_DIRTY_DATASYNC Data-related inode changes pending. We keep track of
1288 * because i_size changed. 1288 * these changes separately from I_DIRTY_SYNC so that we
1289 * don't have to write inode on fdatasync() when only
1290 * mtime has changed in it.
1289 * I_DIRTY_PAGES Inode has dirty pages. Inode itself may be clean. 1291 * I_DIRTY_PAGES Inode has dirty pages. Inode itself may be clean.
1290 * I_NEW get_new_inode() sets i_state to I_LOCK|I_NEW. Both 1292 * I_NEW get_new_inode() sets i_state to I_LOCK|I_NEW. Both
1291 * are cleared by unlock_new_inode(), called from iget(). 1293 * are cleared by unlock_new_inode(), called from iget().
diff --git a/include/linux/fs_struct.h b/include/linux/fs_struct.h
index 11a36ceddf73..282f54219129 100644
--- a/include/linux/fs_struct.h
+++ b/include/linux/fs_struct.h
@@ -1,15 +1,13 @@
1#ifndef _LINUX_FS_STRUCT_H 1#ifndef _LINUX_FS_STRUCT_H
2#define _LINUX_FS_STRUCT_H 2#define _LINUX_FS_STRUCT_H
3 3
4struct dentry; 4#include <linux/path.h>
5struct vfsmount;
6 5
7struct fs_struct { 6struct fs_struct {
8 atomic_t count; 7 atomic_t count;
9 rwlock_t lock; 8 rwlock_t lock;
10 int umask; 9 int umask;
11 struct dentry * root, * pwd, * altroot; 10 struct path root, pwd, altroot;
12 struct vfsmount * rootmnt, * pwdmnt, * altrootmnt;
13}; 11};
14 12
15#define INIT_FS { \ 13#define INIT_FS { \
@@ -22,8 +20,8 @@ extern struct kmem_cache *fs_cachep;
22 20
23extern void exit_fs(struct task_struct *); 21extern void exit_fs(struct task_struct *);
24extern void set_fs_altroot(void); 22extern void set_fs_altroot(void);
25extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *); 23extern void set_fs_root(struct fs_struct *, struct path *);
26extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *); 24extern void set_fs_pwd(struct fs_struct *, struct path *);
27extern struct fs_struct *copy_fs_struct(struct fs_struct *); 25extern struct fs_struct *copy_fs_struct(struct fs_struct *);
28extern void put_fs_struct(struct fs_struct *); 26extern void put_fs_struct(struct fs_struct *);
29 27
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/hdsmart.h b/include/linux/hdsmart.h
index e69192159d40..4f4faf9d4238 100644
--- a/include/linux/hdsmart.h
+++ b/include/linux/hdsmart.h
@@ -17,7 +17,7 @@
17#ifndef _LINUX_HDSMART_H 17#ifndef _LINUX_HDSMART_H
18#define _LINUX_HDSMART_H 18#define _LINUX_HDSMART_H
19 19
20#ifndef __KERNEL 20#ifndef __KERNEL__
21#define OFFLINE_FULL_SCAN 0 21#define OFFLINE_FULL_SCAN 0
22#define SHORT_SELF_TEST 1 22#define SHORT_SELF_TEST 1
23#define EXTEND_SELF_TEST 2 23#define EXTEND_SELF_TEST 2
@@ -121,6 +121,6 @@ typedef struct ata_smart_selftestlog_s {
121 unsigned char resevered[2]; 121 unsigned char resevered[2];
122 unsigned char chksum; 122 unsigned char chksum;
123} __attribute__ ((packed)) ata_smart_selftestlog_t; 123} __attribute__ ((packed)) ata_smart_selftestlog_t;
124#endif /* __KERNEL__ * 124#endif /* __KERNEL__ */
125 125
126#endif /* _LINUX_HDSMART_H */ 126#endif /* _LINUX_HDSMART_H */
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 3902690647b0..74ff57596eb1 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -528,7 +528,7 @@ int hid_set_field(struct hid_field *, unsigned, __s32);
528int hid_input_report(struct hid_device *, int type, u8 *, int, int); 528int hid_input_report(struct hid_device *, int type, u8 *, int, int);
529int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field); 529int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field);
530int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); 530int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *);
531void hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); 531int hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);
532int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); 532int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32);
533void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt); 533void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt);
534void hid_output_report(struct hid_report *report, __u8 *data); 534void hid_output_report(struct hid_report *report, __u8 *data);
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/ktime.h b/include/linux/ktime.h
index 36c542b70c6d..2cd7fa73d1af 100644
--- a/include/linux/ktime.h
+++ b/include/linux/ktime.h
@@ -310,6 +310,8 @@ static inline ktime_t ktime_sub_us(const ktime_t kt, const u64 usec)
310 return ktime_sub_ns(kt, usec * 1000); 310 return ktime_sub_ns(kt, usec * 1000);
311} 311}
312 312
313extern ktime_t ktime_add_safe(const ktime_t lhs, const ktime_t rhs);
314
313/* 315/*
314 * The resolution of the clocks. The resolution value is returned in 316 * The resolution of the clocks. The resolution value is returned in
315 * the clock_getres() system call to give application programmers an 317 * the clock_getres() system call to give application programmers an
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/maple.h b/include/linux/maple.h
index bad9a7b319de..3f01e2bae1a1 100644
--- a/include/linux/maple.h
+++ b/include/linux/maple.h
@@ -7,74 +7,74 @@ extern struct bus_type maple_bus_type;
7 7
8/* Maple Bus command and response codes */ 8/* Maple Bus command and response codes */
9enum maple_code { 9enum maple_code {
10 MAPLE_RESPONSE_FILEERR = -5, 10 MAPLE_RESPONSE_FILEERR = -5,
11 MAPLE_RESPONSE_AGAIN = -4, /* request should be retransmitted */ 11 MAPLE_RESPONSE_AGAIN = -4, /* request should be retransmitted */
12 MAPLE_RESPONSE_BADCMD = -3, 12 MAPLE_RESPONSE_BADCMD = -3,
13 MAPLE_RESPONSE_BADFUNC = -2, 13 MAPLE_RESPONSE_BADFUNC = -2,
14 MAPLE_RESPONSE_NONE = -1, /* unit didn't respond at all */ 14 MAPLE_RESPONSE_NONE = -1, /* unit didn't respond at all */
15 MAPLE_COMMAND_DEVINFO = 1, 15 MAPLE_COMMAND_DEVINFO = 1,
16 MAPLE_COMMAND_ALLINFO = 2, 16 MAPLE_COMMAND_ALLINFO = 2,
17 MAPLE_COMMAND_RESET = 3, 17 MAPLE_COMMAND_RESET = 3,
18 MAPLE_COMMAND_KILL = 4, 18 MAPLE_COMMAND_KILL = 4,
19 MAPLE_RESPONSE_DEVINFO = 5, 19 MAPLE_RESPONSE_DEVINFO = 5,
20 MAPLE_RESPONSE_ALLINFO = 6, 20 MAPLE_RESPONSE_ALLINFO = 6,
21 MAPLE_RESPONSE_OK = 7, 21 MAPLE_RESPONSE_OK = 7,
22 MAPLE_RESPONSE_DATATRF = 8, 22 MAPLE_RESPONSE_DATATRF = 8,
23 MAPLE_COMMAND_GETCOND = 9, 23 MAPLE_COMMAND_GETCOND = 9,
24 MAPLE_COMMAND_GETMINFO = 10, 24 MAPLE_COMMAND_GETMINFO = 10,
25 MAPLE_COMMAND_BREAD = 11, 25 MAPLE_COMMAND_BREAD = 11,
26 MAPLE_COMMAND_BWRITE = 12, 26 MAPLE_COMMAND_BWRITE = 12,
27 MAPLE_COMMAND_SETCOND = 14 27 MAPLE_COMMAND_SETCOND = 14
28}; 28};
29 29
30struct mapleq { 30struct mapleq {
31 struct list_head list; 31 struct list_head list;
32 struct maple_device *dev; 32 struct maple_device *dev;
33 void *sendbuf, *recvbuf, *recvbufdcsp; 33 void *sendbuf, *recvbuf, *recvbufdcsp;
34 unsigned char length; 34 unsigned char length;
35 enum maple_code command; 35 enum maple_code command;
36}; 36};
37 37
38struct maple_devinfo { 38struct maple_devinfo {
39 unsigned long function; 39 unsigned long function;
40 unsigned long function_data[3]; 40 unsigned long function_data[3];
41 unsigned char area_code; 41 unsigned char area_code;
42 unsigned char connector_directon; 42 unsigned char connector_direction;
43 char product_name[31]; 43 char product_name[31];
44 char product_licence[61]; 44 char product_licence[61];
45 unsigned short standby_power; 45 unsigned short standby_power;
46 unsigned short max_power; 46 unsigned short max_power;
47}; 47};
48 48
49struct maple_device { 49struct maple_device {
50 struct maple_driver *driver; 50 struct maple_driver *driver;
51 struct mapleq *mq; 51 struct mapleq *mq;
52 void *private_data; 52 void *private_data;
53 void (*callback) (struct mapleq * mq); 53 void (*callback) (struct mapleq * mq);
54 unsigned long when, interval, function; 54 unsigned long when, interval, function;
55 struct maple_devinfo devinfo; 55 struct maple_devinfo devinfo;
56 unsigned char port, unit; 56 unsigned char port, unit;
57 char product_name[32]; 57 char product_name[32];
58 char product_licence[64]; 58 char product_licence[64];
59 int registered; 59 struct device dev;
60 struct device dev;
61}; 60};
62 61
63struct maple_driver { 62struct maple_driver {
64 unsigned long function; 63 unsigned long function;
65 int (*connect) (struct maple_device * dev); 64 int (*connect) (struct maple_device * dev);
66 void (*disconnect) (struct maple_device * dev); 65 void (*disconnect) (struct maple_device * dev);
67 struct device_driver drv; 66 struct device_driver drv;
67 int registered;
68}; 68};
69 69
70void maple_getcond_callback(struct maple_device *dev, 70void maple_getcond_callback(struct maple_device *dev,
71 void (*callback) (struct mapleq * mq), 71 void (*callback) (struct mapleq * mq),
72 unsigned long interval, 72 unsigned long interval,
73 unsigned long function); 73 unsigned long function);
74int maple_driver_register(struct device_driver *drv); 74int maple_driver_register(struct device_driver *drv);
75void maple_add_packet(struct mapleq *mq); 75void maple_add_packet(struct mapleq *mq);
76 76
77#define to_maple_dev(n) container_of(n, struct maple_device, dev) 77#define to_maple_dev(n) container_of(n, struct maple_device, dev)
78#define to_maple_driver(n) container_of(n, struct maple_driver, drv) 78#define to_maple_driver(n) container_of(n, struct maple_driver, drv)
79 79
80#endif /* __LINUX_MAPLE_H */ 80#endif /* __LINUX_MAPLE_H */
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..819c4e889bf1 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)
@@ -567,8 +567,7 @@ static inline void print_modules(void)
567{ 567{
568} 568}
569 569
570static inline void module_update_markers(struct module *probe_module, 570static inline void module_update_markers(void)
571 int *refcount)
572{ 571{
573} 572}
574 573
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..24d88e98a626 100644
--- a/include/linux/namei.h
+++ b/include/linux/namei.h
@@ -3,6 +3,7 @@
3 3
4#include <linux/dcache.h> 4#include <linux/dcache.h>
5#include <linux/linkage.h> 5#include <linux/linkage.h>
6#include <linux/path.h>
6 7
7struct vfsmount; 8struct vfsmount;
8 9
@@ -15,8 +16,7 @@ struct open_intent {
15enum { MAX_NESTED_LINKS = 8 }; 16enum { MAX_NESTED_LINKS = 8 };
16 17
17struct nameidata { 18struct nameidata {
18 struct dentry *dentry; 19 struct path path;
19 struct vfsmount *mnt;
20 struct qstr last; 20 struct qstr last;
21 unsigned int flags; 21 unsigned int flags;
22 int last_type; 22 int last_type;
@@ -29,11 +29,6 @@ struct nameidata {
29 } intent; 29 } intent;
30}; 30};
31 31
32struct path {
33 struct vfsmount *mnt;
34 struct dentry *dentry;
35};
36
37/* 32/*
38 * Type of the last component on LOOKUP_PARENT 33 * Type of the last component on LOOKUP_PARENT
39 */ 34 */
@@ -62,17 +57,15 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
62#define LOOKUP_ACCESS (0x0400) 57#define LOOKUP_ACCESS (0x0400)
63#define LOOKUP_CHDIR (0x0800) 58#define LOOKUP_CHDIR (0x0800)
64 59
65extern int FASTCALL(__user_walk(const char __user *, unsigned, struct nameidata *)); 60extern int __user_walk(const char __user *, unsigned, struct nameidata *);
66extern int FASTCALL(__user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *)); 61extern int __user_walk_fd(int dfd, const char __user *, unsigned, struct nameidata *);
67#define user_path_walk(name,nd) \ 62#define user_path_walk(name,nd) \
68 __user_walk_fd(AT_FDCWD, name, LOOKUP_FOLLOW, nd) 63 __user_walk_fd(AT_FDCWD, name, LOOKUP_FOLLOW, nd)
69#define user_path_walk_link(name,nd) \ 64#define user_path_walk_link(name,nd) \
70 __user_walk_fd(AT_FDCWD, name, 0, nd) 65 __user_walk_fd(AT_FDCWD, name, 0, nd)
71extern int FASTCALL(path_lookup(const char *, unsigned, struct nameidata *)); 66extern int path_lookup(const char *, unsigned, struct nameidata *);
72extern int vfs_path_lookup(struct dentry *, struct vfsmount *, 67extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
73 const char *, unsigned int, struct nameidata *); 68 const char *, unsigned int, struct nameidata *);
74extern void path_release(struct nameidata *);
75extern void path_release_on_umount(struct nameidata *);
76 69
77extern int __user_path_lookup_open(const char __user *, unsigned lookup_flags, struct nameidata *nd, int open_flags); 70extern int __user_path_lookup_open(const char __user *, unsigned lookup_flags, struct nameidata *nd, int open_flags);
78extern int path_lookup_open(int dfd, const char *name, unsigned lookup_flags, struct nameidata *, int open_flags); 71extern int path_lookup_open(int dfd, const char *name, unsigned lookup_flags, struct nameidata *, int open_flags);
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 4ffa49dbb66f..a2f003239c85 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/nfsd/export.h b/include/linux/nfsd/export.h
index 3a1687251367..5431512b2757 100644
--- a/include/linux/nfsd/export.h
+++ b/include/linux/nfsd/export.h
@@ -84,9 +84,8 @@ struct svc_export {
84 struct cache_head h; 84 struct cache_head h;
85 struct auth_domain * ex_client; 85 struct auth_domain * ex_client;
86 int ex_flags; 86 int ex_flags;
87 struct vfsmount * ex_mnt; 87 struct path ex_path;
88 struct dentry * ex_dentry; 88 char *ex_pathname;
89 char * ex_path;
90 uid_t ex_anon_uid; 89 uid_t ex_anon_uid;
91 gid_t ex_anon_gid; 90 gid_t ex_anon_gid;
92 int ex_fsid; 91 int ex_fsid;
@@ -107,8 +106,7 @@ struct svc_expkey {
107 int ek_fsidtype; 106 int ek_fsidtype;
108 u32 ek_fsid[6]; 107 u32 ek_fsid[6];
109 108
110 struct vfsmount * ek_mnt; 109 struct path ek_path;
111 struct dentry * ek_dentry;
112}; 110};
113 111
114#define EX_SECURE(exp) (!((exp)->ex_flags & NFSEXP_INSECURE_PORT)) 112#define EX_SECURE(exp) (!((exp)->ex_flags & NFSEXP_INSECURE_PORT))
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/path.h b/include/linux/path.h
new file mode 100644
index 000000000000..915e0c382a51
--- /dev/null
+++ b/include/linux/path.h
@@ -0,0 +1,15 @@
1#ifndef _LINUX_PATH_H
2#define _LINUX_PATH_H
3
4struct dentry;
5struct vfsmount;
6
7struct path {
8 struct vfsmount *mnt;
9 struct dentry *dentry;
10};
11
12extern void path_get(struct path *);
13extern void path_put(struct path *);
14
15#endif /* _LINUX_PATH_H */
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index df6dd79a0d3b..0519e53d5eb2 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1351,6 +1351,7 @@
1351#define PCI_DEVICE_ID_VIA_8231_4 0x8235 1351#define PCI_DEVICE_ID_VIA_8231_4 0x8235
1352#define PCI_DEVICE_ID_VIA_8365_1 0x8305 1352#define PCI_DEVICE_ID_VIA_8365_1 0x8305
1353#define PCI_DEVICE_ID_VIA_CX700 0x8324 1353#define PCI_DEVICE_ID_VIA_CX700 0x8324
1354#define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581
1354#define PCI_DEVICE_ID_VIA_VX800 0x8353 1355#define PCI_DEVICE_ID_VIA_VX800 0x8353
1355#define PCI_DEVICE_ID_VIA_8371_1 0x8391 1356#define PCI_DEVICE_ID_VIA_8371_1 0x8391
1356#define PCI_DEVICE_ID_VIA_82C598_1 0x8598 1357#define PCI_DEVICE_ID_VIA_82C598_1 0x8598
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/proc_fs.h b/include/linux/proc_fs.h
index d6a4f69bdc92..d9a9e718ad19 100644
--- a/include/linux/proc_fs.h
+++ b/include/linux/proc_fs.h
@@ -269,7 +269,7 @@ extern void kclist_add(struct kcore_list *, void *, size_t);
269#endif 269#endif
270 270
271union proc_op { 271union proc_op {
272 int (*proc_get_link)(struct inode *, struct dentry **, struct vfsmount **); 272 int (*proc_get_link)(struct inode *, struct path *);
273 int (*proc_read)(struct task_struct *task, char *page); 273 int (*proc_read)(struct task_struct *task, char *page);
274 int (*proc_show)(struct seq_file *m, 274 int (*proc_show)(struct seq_file *m,
275 struct pid_namespace *ns, struct pid *pid, 275 struct pid_namespace *ns, struct pid *pid,
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/seq_file.h b/include/linux/seq_file.h
index 648dfeb444db..67c2563961f3 100644
--- a/include/linux/seq_file.h
+++ b/include/linux/seq_file.h
@@ -8,8 +8,7 @@
8 8
9struct seq_operations; 9struct seq_operations;
10struct file; 10struct file;
11struct vfsmount; 11struct path;
12struct dentry;
13struct inode; 12struct inode;
14 13
15struct seq_file { 14struct seq_file {
@@ -42,7 +41,7 @@ int seq_puts(struct seq_file *m, const char *s);
42int seq_printf(struct seq_file *, const char *, ...) 41int seq_printf(struct seq_file *, const char *, ...)
43 __attribute__ ((format (printf,2,3))); 42 __attribute__ ((format (printf,2,3)));
44 43
45int seq_path(struct seq_file *, struct vfsmount *, struct dentry *, char *); 44int seq_path(struct seq_file *, struct path *, char *);
46 45
47int single_open(struct file *, int (*)(struct seq_file *, void *), void *); 46int single_open(struct file *, int (*)(struct seq_file *, void *), void *);
48int single_release(struct inode *, struct file *); 47int single_release(struct inode *, struct file *);
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/slub_def.h b/include/linux/slub_def.h
index 5e6d3d634d5b..57deecc79d52 100644
--- a/include/linux/slub_def.h
+++ b/include/linux/slub_def.h
@@ -71,6 +71,7 @@ struct kmem_cache {
71 71
72 /* Allocation and freeing of slabs */ 72 /* Allocation and freeing of slabs */
73 int objects; /* Number of objects in slab */ 73 int objects; /* Number of objects in slab */
74 gfp_t allocflags; /* gfp flags to use on each alloc */
74 int refcount; /* Refcount for slab cache destroy */ 75 int refcount; /* Refcount for slab cache destroy */
75 void (*ctor)(struct kmem_cache *, void *); 76 void (*ctor)(struct kmem_cache *, void *);
76 int inuse; /* Offset to metadata */ 77 int inuse; /* Offset to metadata */
@@ -110,7 +111,7 @@ struct kmem_cache {
110 * We keep the general caches in an array of slab caches that are used for 111 * We keep the general caches in an array of slab caches that are used for
111 * 2^x bytes of allocations. 112 * 2^x bytes of allocations.
112 */ 113 */
113extern struct kmem_cache kmalloc_caches[PAGE_SHIFT]; 114extern struct kmem_cache kmalloc_caches[PAGE_SHIFT + 1];
114 115
115/* 116/*
116 * Sorry that the following has to be that ugly but some versions of GCC 117 * Sorry that the following has to be that ugly but some versions of GCC
@@ -188,12 +189,16 @@ static __always_inline struct kmem_cache *kmalloc_slab(size_t size)
188void *kmem_cache_alloc(struct kmem_cache *, gfp_t); 189void *kmem_cache_alloc(struct kmem_cache *, gfp_t);
189void *__kmalloc(size_t size, gfp_t flags); 190void *__kmalloc(size_t size, gfp_t flags);
190 191
192static __always_inline void *kmalloc_large(size_t size, gfp_t flags)
193{
194 return (void *)__get_free_pages(flags | __GFP_COMP, get_order(size));
195}
196
191static __always_inline void *kmalloc(size_t size, gfp_t flags) 197static __always_inline void *kmalloc(size_t size, gfp_t flags)
192{ 198{
193 if (__builtin_constant_p(size)) { 199 if (__builtin_constant_p(size)) {
194 if (size > PAGE_SIZE / 2) 200 if (size > PAGE_SIZE)
195 return (void *)__get_free_pages(flags | __GFP_COMP, 201 return kmalloc_large(size, flags);
196 get_order(size));
197 202
198 if (!(flags & SLUB_DMA)) { 203 if (!(flags & SLUB_DMA)) {
199 struct kmem_cache *s = kmalloc_slab(size); 204 struct kmem_cache *s = kmalloc_slab(size);
@@ -214,7 +219,7 @@ void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node);
214static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node) 219static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node)
215{ 220{
216 if (__builtin_constant_p(size) && 221 if (__builtin_constant_p(size) &&
217 size <= PAGE_SIZE / 2 && !(flags & SLUB_DMA)) { 222 size <= PAGE_SIZE && !(flags & SLUB_DMA)) {
218 struct kmem_cache *s = kmalloc_slab(size); 223 struct kmem_cache *s = kmalloc_slab(size);
219 224
220 if (!s) 225 if (!s)
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/videodev.h b/include/linux/videodev.h
index 52e3d5fd5be4..9385a566aed8 100644
--- a/include/linux/videodev.h
+++ b/include/linux/videodev.h
@@ -12,6 +12,7 @@
12#ifndef __LINUX_VIDEODEV_H 12#ifndef __LINUX_VIDEODEV_H
13#define __LINUX_VIDEODEV_H 13#define __LINUX_VIDEODEV_H
14 14
15#include <linux/ioctl.h>
15#include <linux/videodev2.h> 16#include <linux/videodev2.h>
16 17
17#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) 18#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 439474f24e34..17a80177a674 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -62,6 +62,7 @@
62#define __user 62#define __user
63#include <sys/time.h> 63#include <sys/time.h>
64#endif 64#endif
65#include <linux/ioctl.h>
65#include <linux/types.h> 66#include <linux/types.h>
66 67
67/* 68/*
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);