diff options
Diffstat (limited to 'include/linux')
59 files changed, 341 insertions, 478 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 | |||
70 | header-y += genetlink.h | 70 | header-y += genetlink.h |
71 | header-y += gen_stats.h | 71 | header-y += gen_stats.h |
72 | header-y += gigaset_dev.h | 72 | header-y += gigaset_dev.h |
73 | header-y += hdsmart.h | ||
74 | header-y += hysdn_if.h | 73 | header-y += hysdn_if.h |
75 | header-y += i2o-dev.h | 74 | header-y += i2o-dev.h |
76 | header-y += i8k.h | 75 | header-y += i8k.h |
@@ -211,6 +210,7 @@ unifdef-y += hayesesp.h | |||
211 | unifdef-y += hdlcdrv.h | 210 | unifdef-y += hdlcdrv.h |
212 | unifdef-y += hdlc.h | 211 | unifdef-y += hdlc.h |
213 | unifdef-y += hdreg.h | 212 | unifdef-y += hdreg.h |
213 | unifdef-y += hdsmart.h | ||
214 | unifdef-y += hiddev.h | 214 | unifdef-y += hiddev.h |
215 | unifdef-y += hpet.h | 215 | unifdef-y += hpet.h |
216 | unifdef-y += i2c.h | 216 | unifdef-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); | |||
203 | extern int acpi_blacklisted(void); | 203 | extern int acpi_blacklisted(void); |
204 | #ifdef CONFIG_DMI | 204 | #ifdef CONFIG_DMI |
205 | extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d); | 205 | extern void acpi_dmi_osi_linux(int enable, const struct dmi_system_id *d); |
206 | extern 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..0d0b7f629bd3 100644 --- a/include/linux/aio.h +++ b/include/linux/aio.h | |||
@@ -105,7 +105,6 @@ struct kiocb { | |||
105 | wait_queue_t ki_wait; | 105 | wait_queue_t ki_wait; |
106 | loff_t ki_pos; | 106 | loff_t ki_pos; |
107 | 107 | ||
108 | atomic_t ki_bio_count; /* num bio used for this iocb */ | ||
109 | void *private; | 108 | void *private; |
110 | /* State that we remember to be able to restart/retry */ | 109 | /* State that we remember to be able to restart/retry */ |
111 | unsigned short ki_opcode; | 110 | unsigned short ki_opcode; |
@@ -206,21 +205,21 @@ struct kioctx { | |||
206 | /* prototypes */ | 205 | /* prototypes */ |
207 | extern unsigned aio_max_size; | 206 | extern unsigned aio_max_size; |
208 | 207 | ||
209 | extern ssize_t FASTCALL(wait_on_sync_kiocb(struct kiocb *iocb)); | 208 | extern ssize_t wait_on_sync_kiocb(struct kiocb *iocb); |
210 | extern int FASTCALL(aio_put_req(struct kiocb *iocb)); | 209 | extern int aio_put_req(struct kiocb *iocb); |
211 | extern void FASTCALL(kick_iocb(struct kiocb *iocb)); | 210 | extern void kick_iocb(struct kiocb *iocb); |
212 | extern int FASTCALL(aio_complete(struct kiocb *iocb, long res, long res2)); | 211 | extern int aio_complete(struct kiocb *iocb, long res, long res2); |
213 | extern void FASTCALL(__put_ioctx(struct kioctx *ctx)); | 212 | extern void __put_ioctx(struct kioctx *ctx); |
214 | struct mm_struct; | 213 | struct mm_struct; |
215 | extern void FASTCALL(exit_aio(struct mm_struct *mm)); | 214 | extern void exit_aio(struct mm_struct *mm); |
216 | extern struct kioctx *lookup_ioctx(unsigned long ctx_id); | 215 | extern struct kioctx *lookup_ioctx(unsigned long ctx_id); |
217 | extern int FASTCALL(io_submit_one(struct kioctx *ctx, | 216 | extern int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, |
218 | struct iocb __user *user_iocb, struct iocb *iocb)); | 217 | struct iocb *iocb); |
219 | 218 | ||
220 | /* semi private, but used by the 32bit emulations: */ | 219 | /* semi private, but used by the 32bit emulations: */ |
221 | struct kioctx *lookup_ioctx(unsigned long ctx_id); | 220 | struct kioctx *lookup_ioctx(unsigned long ctx_id); |
222 | int FASTCALL(io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, | 221 | int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, |
223 | struct iocb *iocb)); | 222 | struct iocb *iocb); |
224 | 223 | ||
225 | #define get_ioctx(kioctx) do { \ | 224 | #define get_ioctx(kioctx) do { \ |
226 | BUG_ON(atomic_read(&(kioctx)->users) <= 0); \ | 225 | 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); |
535 | extern void audit_log_d_path(struct audit_buffer *ab, | 535 | extern 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); | ||
539 | extern void audit_log_lost(const char *message); | 538 | extern void audit_log_lost(const char *message); |
540 | /* Private API (for audit.c only) */ | 539 | /* Private API (for audit.c only) */ |
541 | extern int audit_filter_user(struct netlink_skb_parms *cb, int type); | 540 | extern 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/bio.h b/include/linux/bio.h index 4da441337d6e..4c59bdccd3ee 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -326,7 +326,6 @@ extern struct bio *bio_map_kern(struct request_queue *, void *, unsigned int, | |||
326 | gfp_t); | 326 | gfp_t); |
327 | extern void bio_set_pages_dirty(struct bio *bio); | 327 | extern void bio_set_pages_dirty(struct bio *bio); |
328 | extern void bio_check_pages_dirty(struct bio *bio); | 328 | extern void bio_check_pages_dirty(struct bio *bio); |
329 | extern void bio_release_pages(struct bio *bio); | ||
330 | extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); | 329 | extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); |
331 | extern int bio_uncopy_user(struct bio *); | 330 | extern int bio_uncopy_user(struct bio *); |
332 | void zero_fill_bio(struct bio *bio); | 331 | void zero_fill_bio(struct bio *bio); |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index e1888cc5b8ae..6fe67d1939c2 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -216,6 +216,7 @@ struct request { | |||
216 | unsigned int cmd_len; | 216 | unsigned int cmd_len; |
217 | unsigned char cmd[BLK_MAX_CDB]; | 217 | unsigned char cmd[BLK_MAX_CDB]; |
218 | 218 | ||
219 | unsigned int raw_data_len; | ||
219 | unsigned int data_len; | 220 | unsigned int data_len; |
220 | unsigned int sense_len; | 221 | unsigned int sense_len; |
221 | void *data; | 222 | void *data; |
@@ -258,6 +259,7 @@ struct bio_vec; | |||
258 | typedef int (merge_bvec_fn) (struct request_queue *, struct bio *, struct bio_vec *); | 259 | typedef int (merge_bvec_fn) (struct request_queue *, struct bio *, struct bio_vec *); |
259 | typedef void (prepare_flush_fn) (struct request_queue *, struct request *); | 260 | typedef void (prepare_flush_fn) (struct request_queue *, struct request *); |
260 | typedef void (softirq_done_fn)(struct request *); | 261 | typedef void (softirq_done_fn)(struct request *); |
262 | typedef int (dma_drain_needed_fn)(struct request *); | ||
261 | 263 | ||
262 | enum blk_queue_state { | 264 | enum blk_queue_state { |
263 | Queue_down, | 265 | Queue_down, |
@@ -294,6 +296,7 @@ struct request_queue | |||
294 | merge_bvec_fn *merge_bvec_fn; | 296 | merge_bvec_fn *merge_bvec_fn; |
295 | prepare_flush_fn *prepare_flush_fn; | 297 | prepare_flush_fn *prepare_flush_fn; |
296 | softirq_done_fn *softirq_done_fn; | 298 | softirq_done_fn *softirq_done_fn; |
299 | dma_drain_needed_fn *dma_drain_needed; | ||
297 | 300 | ||
298 | /* | 301 | /* |
299 | * Dispatch queue sorting | 302 | * Dispatch queue sorting |
@@ -698,8 +701,9 @@ extern void blk_queue_max_hw_segments(struct request_queue *, unsigned short); | |||
698 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); | 701 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); |
699 | extern void blk_queue_hardsect_size(struct request_queue *, unsigned short); | 702 | extern void blk_queue_hardsect_size(struct request_queue *, unsigned short); |
700 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); | 703 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); |
701 | extern int blk_queue_dma_drain(struct request_queue *q, void *buf, | 704 | extern int blk_queue_dma_drain(struct request_queue *q, |
702 | unsigned int size); | 705 | dma_drain_needed_fn *dma_drain_needed, |
706 | void *buf, unsigned int size); | ||
703 | extern void blk_queue_segment_boundary(struct request_queue *, unsigned long); | 707 | extern void blk_queue_segment_boundary(struct request_queue *, unsigned long); |
704 | extern void blk_queue_prep_rq(struct request_queue *, prep_rq_fn *pfn); | 708 | extern void blk_queue_prep_rq(struct request_queue *, prep_rq_fn *pfn); |
705 | extern void blk_queue_merge_bvec(struct request_queue *, merge_bvec_fn *); | 709 | extern void blk_queue_merge_bvec(struct request_queue *, merge_bvec_fn *); |
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.h b/include/linux/cgroup.h index ff9055fc3d2a..028ba3b523b1 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
@@ -175,7 +175,7 @@ struct css_set { | |||
175 | * | 175 | * |
176 | * | 176 | * |
177 | * When reading/writing to a file: | 177 | * When reading/writing to a file: |
178 | * - the cgroup to use in file->f_dentry->d_parent->d_fsdata | 178 | * - the cgroup to use is file->f_dentry->d_parent->d_fsdata |
179 | * - the 'cftype' of the file is file->f_dentry->d_fsdata | 179 | * - the 'cftype' of the file is file->f_dentry->d_fsdata |
180 | */ | 180 | */ |
181 | 181 | ||
@@ -186,15 +186,15 @@ struct cftype { | |||
186 | char name[MAX_CFTYPE_NAME]; | 186 | char name[MAX_CFTYPE_NAME]; |
187 | int private; | 187 | int private; |
188 | int (*open) (struct inode *inode, struct file *file); | 188 | int (*open) (struct inode *inode, struct file *file); |
189 | ssize_t (*read) (struct cgroup *cont, struct cftype *cft, | 189 | ssize_t (*read) (struct cgroup *cgrp, struct cftype *cft, |
190 | struct file *file, | 190 | struct file *file, |
191 | char __user *buf, size_t nbytes, loff_t *ppos); | 191 | char __user *buf, size_t nbytes, loff_t *ppos); |
192 | /* | 192 | /* |
193 | * read_uint() is a shortcut for the common case of returning a | 193 | * read_uint() is a shortcut for the common case of returning a |
194 | * single integer. Use it in place of read() | 194 | * single integer. Use it in place of read() |
195 | */ | 195 | */ |
196 | u64 (*read_uint) (struct cgroup *cont, struct cftype *cft); | 196 | u64 (*read_uint) (struct cgroup *cgrp, struct cftype *cft); |
197 | ssize_t (*write) (struct cgroup *cont, struct cftype *cft, | 197 | ssize_t (*write) (struct cgroup *cgrp, struct cftype *cft, |
198 | struct file *file, | 198 | struct file *file, |
199 | const char __user *buf, size_t nbytes, loff_t *ppos); | 199 | const char __user *buf, size_t nbytes, loff_t *ppos); |
200 | 200 | ||
@@ -203,7 +203,7 @@ struct cftype { | |||
203 | * a single integer (as parsed by simple_strtoull) from | 203 | * a single integer (as parsed by simple_strtoull) from |
204 | * userspace. Use in place of write(); return 0 or error. | 204 | * userspace. Use in place of write(); return 0 or error. |
205 | */ | 205 | */ |
206 | int (*write_uint) (struct cgroup *cont, struct cftype *cft, u64 val); | 206 | int (*write_uint) (struct cgroup *cgrp, struct cftype *cft, u64 val); |
207 | 207 | ||
208 | int (*release) (struct inode *inode, struct file *file); | 208 | int (*release) (struct inode *inode, struct file *file); |
209 | }; | 209 | }; |
@@ -218,41 +218,41 @@ struct cgroup_scanner { | |||
218 | 218 | ||
219 | /* Add a new file to the given cgroup directory. Should only be | 219 | /* Add a new file to the given cgroup directory. Should only be |
220 | * called by subsystems from within a populate() method */ | 220 | * called by subsystems from within a populate() method */ |
221 | int cgroup_add_file(struct cgroup *cont, struct cgroup_subsys *subsys, | 221 | int cgroup_add_file(struct cgroup *cgrp, struct cgroup_subsys *subsys, |
222 | const struct cftype *cft); | 222 | const struct cftype *cft); |
223 | 223 | ||
224 | /* Add a set of new files to the given cgroup directory. Should | 224 | /* Add a set of new files to the given cgroup directory. Should |
225 | * only be called by subsystems from within a populate() method */ | 225 | * only be called by subsystems from within a populate() method */ |
226 | int cgroup_add_files(struct cgroup *cont, | 226 | int cgroup_add_files(struct cgroup *cgrp, |
227 | struct cgroup_subsys *subsys, | 227 | struct cgroup_subsys *subsys, |
228 | const struct cftype cft[], | 228 | const struct cftype cft[], |
229 | int count); | 229 | int count); |
230 | 230 | ||
231 | int cgroup_is_removed(const struct cgroup *cont); | 231 | int cgroup_is_removed(const struct cgroup *cgrp); |
232 | 232 | ||
233 | int cgroup_path(const struct cgroup *cont, char *buf, int buflen); | 233 | int cgroup_path(const struct cgroup *cgrp, char *buf, int buflen); |
234 | 234 | ||
235 | int cgroup_task_count(const struct cgroup *cont); | 235 | int cgroup_task_count(const struct cgroup *cgrp); |
236 | 236 | ||
237 | /* Return true if the cgroup is a descendant of the current cgroup */ | 237 | /* Return true if the cgroup is a descendant of the current cgroup */ |
238 | int cgroup_is_descendant(const struct cgroup *cont); | 238 | int cgroup_is_descendant(const struct cgroup *cgrp); |
239 | 239 | ||
240 | /* Control Group subsystem type. See Documentation/cgroups.txt for details */ | 240 | /* Control Group subsystem type. See Documentation/cgroups.txt for details */ |
241 | 241 | ||
242 | struct cgroup_subsys { | 242 | struct cgroup_subsys { |
243 | struct cgroup_subsys_state *(*create)(struct cgroup_subsys *ss, | 243 | struct cgroup_subsys_state *(*create)(struct cgroup_subsys *ss, |
244 | struct cgroup *cont); | 244 | struct cgroup *cgrp); |
245 | void (*pre_destroy)(struct cgroup_subsys *ss, struct cgroup *cont); | 245 | void (*pre_destroy)(struct cgroup_subsys *ss, struct cgroup *cgrp); |
246 | void (*destroy)(struct cgroup_subsys *ss, struct cgroup *cont); | 246 | void (*destroy)(struct cgroup_subsys *ss, struct cgroup *cgrp); |
247 | int (*can_attach)(struct cgroup_subsys *ss, | 247 | int (*can_attach)(struct cgroup_subsys *ss, |
248 | struct cgroup *cont, struct task_struct *tsk); | 248 | struct cgroup *cgrp, struct task_struct *tsk); |
249 | void (*attach)(struct cgroup_subsys *ss, struct cgroup *cont, | 249 | void (*attach)(struct cgroup_subsys *ss, struct cgroup *cgrp, |
250 | struct cgroup *old_cont, struct task_struct *tsk); | 250 | struct cgroup *old_cgrp, struct task_struct *tsk); |
251 | void (*fork)(struct cgroup_subsys *ss, struct task_struct *task); | 251 | void (*fork)(struct cgroup_subsys *ss, struct task_struct *task); |
252 | void (*exit)(struct cgroup_subsys *ss, struct task_struct *task); | 252 | void (*exit)(struct cgroup_subsys *ss, struct task_struct *task); |
253 | int (*populate)(struct cgroup_subsys *ss, | 253 | int (*populate)(struct cgroup_subsys *ss, |
254 | struct cgroup *cont); | 254 | struct cgroup *cgrp); |
255 | void (*post_clone)(struct cgroup_subsys *ss, struct cgroup *cont); | 255 | void (*post_clone)(struct cgroup_subsys *ss, struct cgroup *cgrp); |
256 | void (*bind)(struct cgroup_subsys *ss, struct cgroup *root); | 256 | void (*bind)(struct cgroup_subsys *ss, struct cgroup *root); |
257 | int subsys_id; | 257 | int subsys_id; |
258 | int active; | 258 | int active; |
@@ -273,9 +273,9 @@ struct cgroup_subsys { | |||
273 | #undef SUBSYS | 273 | #undef SUBSYS |
274 | 274 | ||
275 | static inline struct cgroup_subsys_state *cgroup_subsys_state( | 275 | static inline struct cgroup_subsys_state *cgroup_subsys_state( |
276 | struct cgroup *cont, int subsys_id) | 276 | struct cgroup *cgrp, int subsys_id) |
277 | { | 277 | { |
278 | return cont->subsys[subsys_id]; | 278 | return cgrp->subsys[subsys_id]; |
279 | } | 279 | } |
280 | 280 | ||
281 | static inline struct cgroup_subsys_state *task_subsys_state( | 281 | static inline struct cgroup_subsys_state *task_subsys_state( |
@@ -290,8 +290,6 @@ static inline struct cgroup* task_cgroup(struct task_struct *task, | |||
290 | return task_subsys_state(task, subsys_id)->cgroup; | 290 | return task_subsys_state(task, subsys_id)->cgroup; |
291 | } | 291 | } |
292 | 292 | ||
293 | int cgroup_path(const struct cgroup *cont, char *buf, int buflen); | ||
294 | |||
295 | int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *ss); | 293 | int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *ss); |
296 | 294 | ||
297 | /* A cgroup_iter should be treated as an opaque object */ | 295 | /* A cgroup_iter should be treated as an opaque object */ |
@@ -313,10 +311,10 @@ struct cgroup_iter { | |||
313 | * - cgroup_scan_tasks() holds the css_set_lock when calling the test_task() | 311 | * - cgroup_scan_tasks() holds the css_set_lock when calling the test_task() |
314 | * callback, but not while calling the process_task() callback. | 312 | * callback, but not while calling the process_task() callback. |
315 | */ | 313 | */ |
316 | void cgroup_iter_start(struct cgroup *cont, struct cgroup_iter *it); | 314 | void cgroup_iter_start(struct cgroup *cgrp, struct cgroup_iter *it); |
317 | struct task_struct *cgroup_iter_next(struct cgroup *cont, | 315 | struct task_struct *cgroup_iter_next(struct cgroup *cgrp, |
318 | struct cgroup_iter *it); | 316 | struct cgroup_iter *it); |
319 | void cgroup_iter_end(struct cgroup *cont, struct cgroup_iter *it); | 317 | void cgroup_iter_end(struct cgroup *cgrp, struct cgroup_iter *it); |
320 | int cgroup_scan_tasks(struct cgroup_scanner *scan); | 318 | int cgroup_scan_tasks(struct cgroup_scanner *scan); |
321 | int cgroup_attach_task(struct cgroup *, struct task_struct *); | 319 | int cgroup_attach_task(struct cgroup *, struct task_struct *); |
322 | 320 | ||
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/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 | ||
23 | struct cpuidle_device; | 24 | struct cpuidle_device; |
24 | 25 | ||
@@ -29,6 +30,7 @@ struct cpuidle_device; | |||
29 | 30 | ||
30 | struct cpuidle_state { | 31 | struct 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 | ||
12 | struct nameidata; | 12 | struct nameidata; |
13 | struct path; | ||
13 | struct vfsmount; | 14 | struct vfsmount; |
14 | 15 | ||
15 | /* | 16 | /* |
@@ -300,8 +301,8 @@ extern int d_validate(struct dentry *, struct dentry *); | |||
300 | */ | 301 | */ |
301 | extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); | 302 | extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); |
302 | 303 | ||
303 | extern char * d_path(struct dentry *, struct vfsmount *, char *, int); | 304 | extern 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 | ||
18 | struct dcookie_user; | 19 | struct 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 | */ |
46 | int get_dcookie(struct dentry * dentry, struct vfsmount * vfsmnt, | 47 | int 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 | ||
61 | static inline int get_dcookie(struct dentry * dentry, | 61 | static 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/efs_dir.h b/include/linux/efs_dir.h deleted file mode 100644 index a09ec010569c..000000000000 --- a/include/linux/efs_dir.h +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | /* | ||
2 | * efs_dir.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | */ | ||
6 | |||
7 | #ifndef __EFS_DIR_H__ | ||
8 | #define __EFS_DIR_H__ | ||
9 | |||
10 | #define EFS_DIRBSIZE_BITS EFS_BLOCKSIZE_BITS | ||
11 | #define EFS_DIRBSIZE (1 << EFS_DIRBSIZE_BITS) | ||
12 | |||
13 | struct efs_dentry { | ||
14 | __be32 inode; | ||
15 | unsigned char namelen; | ||
16 | char name[3]; | ||
17 | }; | ||
18 | |||
19 | #define EFS_DENTSIZE (sizeof(struct efs_dentry) - 3 + 1) | ||
20 | #define EFS_MAXNAMELEN ((1 << (sizeof(char) * 8)) - 1) | ||
21 | |||
22 | #define EFS_DIRBLK_HEADERSIZE 4 | ||
23 | #define EFS_DIRBLK_MAGIC 0xbeef /* moo */ | ||
24 | |||
25 | struct efs_dir { | ||
26 | __be16 magic; | ||
27 | unsigned char firstused; | ||
28 | unsigned char slots; | ||
29 | |||
30 | unsigned char space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE]; | ||
31 | }; | ||
32 | |||
33 | #define EFS_MAXENTS \ | ||
34 | ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \ | ||
35 | (EFS_DENTSIZE + sizeof(char))) | ||
36 | |||
37 | #define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot]) | ||
38 | |||
39 | #define EFS_REALOFF(offset) ((offset << 1)) | ||
40 | |||
41 | #endif /* __EFS_DIR_H__ */ | ||
42 | |||
diff --git a/include/linux/efs_fs.h b/include/linux/efs_fs.h deleted file mode 100644 index a695d63a07af..000000000000 --- a/include/linux/efs_fs.h +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | /* | ||
2 | * efs_fs.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | * | ||
6 | * Portions derived from work (c) 1995,1996 Christian Vogelgsang. | ||
7 | */ | ||
8 | |||
9 | #ifndef __EFS_FS_H__ | ||
10 | #define __EFS_FS_H__ | ||
11 | |||
12 | #define EFS_VERSION "1.0a" | ||
13 | |||
14 | static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>"; | ||
15 | |||
16 | #include <asm/uaccess.h> | ||
17 | |||
18 | /* 1 block is 512 bytes */ | ||
19 | #define EFS_BLOCKSIZE_BITS 9 | ||
20 | #define EFS_BLOCKSIZE (1 << EFS_BLOCKSIZE_BITS) | ||
21 | |||
22 | #include <linux/fs.h> | ||
23 | #include <linux/efs_fs_i.h> | ||
24 | #include <linux/efs_fs_sb.h> | ||
25 | #include <linux/efs_dir.h> | ||
26 | |||
27 | static inline struct efs_inode_info *INODE_INFO(struct inode *inode) | ||
28 | { | ||
29 | return container_of(inode, struct efs_inode_info, vfs_inode); | ||
30 | } | ||
31 | |||
32 | static inline struct efs_sb_info *SUPER_INFO(struct super_block *sb) | ||
33 | { | ||
34 | return sb->s_fs_info; | ||
35 | } | ||
36 | |||
37 | struct statfs; | ||
38 | struct fid; | ||
39 | |||
40 | extern const struct inode_operations efs_dir_inode_operations; | ||
41 | extern const struct file_operations efs_dir_operations; | ||
42 | extern const struct address_space_operations efs_symlink_aops; | ||
43 | |||
44 | extern struct inode *efs_iget(struct super_block *, unsigned long); | ||
45 | extern efs_block_t efs_map_block(struct inode *, efs_block_t); | ||
46 | extern int efs_get_block(struct inode *, sector_t, struct buffer_head *, int); | ||
47 | |||
48 | extern struct dentry *efs_lookup(struct inode *, struct dentry *, struct nameidata *); | ||
49 | extern struct dentry *efs_fh_to_dentry(struct super_block *sb, struct fid *fid, | ||
50 | int fh_len, int fh_type); | ||
51 | extern struct dentry *efs_fh_to_parent(struct super_block *sb, struct fid *fid, | ||
52 | int fh_len, int fh_type); | ||
53 | extern struct dentry *efs_get_parent(struct dentry *); | ||
54 | extern int efs_bmap(struct inode *, int); | ||
55 | |||
56 | #endif /* __EFS_FS_H__ */ | ||
diff --git a/include/linux/efs_fs_i.h b/include/linux/efs_fs_i.h deleted file mode 100644 index 617c474ca659..000000000000 --- a/include/linux/efs_fs_i.h +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | /* | ||
2 | * efs_fs_i.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | * | ||
6 | * Portions derived from IRIX header files (c) 1988 Silicon Graphics | ||
7 | */ | ||
8 | |||
9 | #ifndef __EFS_FS_I_H__ | ||
10 | #define __EFS_FS_I_H__ | ||
11 | |||
12 | typedef int32_t efs_block_t; | ||
13 | typedef uint32_t efs_ino_t; | ||
14 | |||
15 | #define EFS_DIRECTEXTENTS 12 | ||
16 | |||
17 | /* | ||
18 | * layout of an extent, in memory and on disk. 8 bytes exactly. | ||
19 | */ | ||
20 | typedef union extent_u { | ||
21 | unsigned char raw[8]; | ||
22 | struct extent_s { | ||
23 | unsigned int ex_magic:8; /* magic # (zero) */ | ||
24 | unsigned int ex_bn:24; /* basic block */ | ||
25 | unsigned int ex_length:8; /* numblocks in this extent */ | ||
26 | unsigned int ex_offset:24; /* logical offset into file */ | ||
27 | } cooked; | ||
28 | } efs_extent; | ||
29 | |||
30 | typedef struct edevs { | ||
31 | __be16 odev; | ||
32 | __be32 ndev; | ||
33 | } efs_devs; | ||
34 | |||
35 | /* | ||
36 | * extent based filesystem inode as it appears on disk. The efs inode | ||
37 | * is exactly 128 bytes long. | ||
38 | */ | ||
39 | struct efs_dinode { | ||
40 | __be16 di_mode; /* mode and type of file */ | ||
41 | __be16 di_nlink; /* number of links to file */ | ||
42 | __be16 di_uid; /* owner's user id */ | ||
43 | __be16 di_gid; /* owner's group id */ | ||
44 | __be32 di_size; /* number of bytes in file */ | ||
45 | __be32 di_atime; /* time last accessed */ | ||
46 | __be32 di_mtime; /* time last modified */ | ||
47 | __be32 di_ctime; /* time created */ | ||
48 | __be32 di_gen; /* generation number */ | ||
49 | __be16 di_numextents; /* # of extents */ | ||
50 | u_char di_version; /* version of inode */ | ||
51 | u_char di_spare; /* spare - used by AFS */ | ||
52 | union di_addr { | ||
53 | efs_extent di_extents[EFS_DIRECTEXTENTS]; | ||
54 | efs_devs di_dev; /* device for IFCHR/IFBLK */ | ||
55 | } di_u; | ||
56 | }; | ||
57 | |||
58 | /* efs inode storage in memory */ | ||
59 | struct efs_inode_info { | ||
60 | int numextents; | ||
61 | int lastextent; | ||
62 | |||
63 | efs_extent extents[EFS_DIRECTEXTENTS]; | ||
64 | struct inode vfs_inode; | ||
65 | }; | ||
66 | |||
67 | #endif /* __EFS_FS_I_H__ */ | ||
68 | |||
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/fs.h b/include/linux/fs.h index 18cfbf76ec5b..b84b848431f2 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(). |
@@ -1588,7 +1590,6 @@ extern void bd_set_size(struct block_device *, loff_t size); | |||
1588 | extern void bd_forget(struct inode *inode); | 1590 | extern void bd_forget(struct inode *inode); |
1589 | extern void bdput(struct block_device *); | 1591 | extern void bdput(struct block_device *); |
1590 | extern struct block_device *open_by_devnum(dev_t, unsigned); | 1592 | extern struct block_device *open_by_devnum(dev_t, unsigned); |
1591 | extern const struct address_space_operations def_blk_aops; | ||
1592 | #else | 1593 | #else |
1593 | static inline void bd_forget(struct inode *inode) {} | 1594 | static inline void bd_forget(struct inode *inode) {} |
1594 | #endif | 1595 | #endif |
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 | ||
4 | struct dentry; | 4 | #include <linux/path.h> |
5 | struct vfsmount; | ||
6 | 5 | ||
7 | struct fs_struct { | 6 | struct 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 | ||
23 | extern void exit_fs(struct task_struct *); | 21 | extern void exit_fs(struct task_struct *); |
24 | extern void set_fs_altroot(void); | 22 | extern void set_fs_altroot(void); |
25 | extern void set_fs_root(struct fs_struct *, struct vfsmount *, struct dentry *); | 23 | extern void set_fs_root(struct fs_struct *, struct path *); |
26 | extern void set_fs_pwd(struct fs_struct *, struct vfsmount *, struct dentry *); | 24 | extern void set_fs_pwd(struct fs_struct *, struct path *); |
27 | extern struct fs_struct *copy_fs_struct(struct fs_struct *); | 25 | extern struct fs_struct *copy_fs_struct(struct fs_struct *); |
28 | extern void put_fs_struct(struct fs_struct *); | 26 | extern void put_fs_struct(struct fs_struct *); |
29 | 27 | ||
diff --git a/include/linux/futex.h b/include/linux/futex.h index 90048fb28a38..586ab56a3ec3 100644 --- a/include/linux/futex.h +++ b/include/linux/futex.h | |||
@@ -167,6 +167,7 @@ union futex_key { | |||
167 | #ifdef CONFIG_FUTEX | 167 | #ifdef CONFIG_FUTEX |
168 | extern void exit_robust_list(struct task_struct *curr); | 168 | extern void exit_robust_list(struct task_struct *curr); |
169 | extern void exit_pi_state_list(struct task_struct *curr); | 169 | extern void exit_pi_state_list(struct task_struct *curr); |
170 | extern int futex_cmpxchg_enabled; | ||
170 | #else | 171 | #else |
171 | static inline void exit_robust_list(struct task_struct *curr) | 172 | static inline void exit_robust_list(struct task_struct *curr) |
172 | { | 173 | { |
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/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); | |||
528 | int hid_input_report(struct hid_device *, int type, u8 *, int, int); | 528 | int hid_input_report(struct hid_device *, int type, u8 *, int, int); |
529 | int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field); | 529 | int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field); |
530 | int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); | 530 | int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); |
531 | void hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); | 531 | int hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); |
532 | int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); | 532 | int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); |
533 | void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt); | 533 | void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt); |
534 | void hid_output_report(struct hid_report *report, __u8 *data); | 534 | void 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); | |||
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/init.h b/include/linux/init.h index a404a0055dd7..fb58c0493cf2 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -42,6 +42,7 @@ | |||
42 | discard it in modules) */ | 42 | discard it in modules) */ |
43 | #define __init __section(.init.text) __cold | 43 | #define __init __section(.init.text) __cold |
44 | #define __initdata __section(.init.data) | 44 | #define __initdata __section(.init.data) |
45 | #define __initconst __section(.init.rodata) | ||
45 | #define __exitdata __section(.exit.data) | 46 | #define __exitdata __section(.exit.data) |
46 | #define __exit_call __used __section(.exitcall.exit) | 47 | #define __exit_call __used __section(.exitcall.exit) |
47 | 48 | ||
@@ -106,6 +107,7 @@ | |||
106 | #define __memexitconst __section(.memexit.rodata) | 107 | #define __memexitconst __section(.memexit.rodata) |
107 | 108 | ||
108 | /* For assembly routines */ | 109 | /* For assembly routines */ |
110 | #define __HEAD .section ".head.text","ax" | ||
109 | #define __INIT .section ".init.text","ax" | 111 | #define __INIT .section ".init.text","ax" |
110 | #define __FINIT .previous | 112 | #define __FINIT .previous |
111 | 113 | ||
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/iocontext.h b/include/linux/iocontext.h index 593b222d9dcc..1b4ccf25b4d2 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
@@ -50,6 +50,7 @@ struct cfq_io_context { | |||
50 | sector_t seek_mean; | 50 | sector_t seek_mean; |
51 | 51 | ||
52 | struct list_head queue_list; | 52 | struct list_head queue_list; |
53 | struct hlist_node cic_list; | ||
53 | 54 | ||
54 | void (*dtor)(struct io_context *); /* destructor */ | 55 | void (*dtor)(struct io_context *); /* destructor */ |
55 | void (*exit)(struct io_context *); /* called on task exit */ | 56 | void (*exit)(struct io_context *); /* called on task exit */ |
@@ -77,6 +78,7 @@ struct io_context { | |||
77 | 78 | ||
78 | struct as_io_context *aic; | 79 | struct as_io_context *aic; |
79 | struct radix_tree_root radix_root; | 80 | struct radix_tree_root radix_root; |
81 | struct hlist_head cic_list; | ||
80 | void *ioc_data; | 82 | void *ioc_data; |
81 | }; | 83 | }; |
82 | 84 | ||
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/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 | ||
313 | extern 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/libata.h b/include/linux/libata.h index bc5a8d0c7090..ce7603a73156 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -278,7 +278,6 @@ enum { | |||
278 | 278 | ||
279 | /* size of buffer to pad xfers ending on unaligned boundaries */ | 279 | /* size of buffer to pad xfers ending on unaligned boundaries */ |
280 | ATA_DMA_PAD_SZ = 4, | 280 | ATA_DMA_PAD_SZ = 4, |
281 | ATA_DMA_PAD_BUF_SZ = ATA_DMA_PAD_SZ * ATA_MAX_QUEUE, | ||
282 | 281 | ||
283 | /* ering size */ | 282 | /* ering size */ |
284 | ATA_ERING_SIZE = 32, | 283 | ATA_ERING_SIZE = 32, |
@@ -457,24 +456,18 @@ struct ata_queued_cmd { | |||
457 | unsigned long flags; /* ATA_QCFLAG_xxx */ | 456 | unsigned long flags; /* ATA_QCFLAG_xxx */ |
458 | unsigned int tag; | 457 | unsigned int tag; |
459 | unsigned int n_elem; | 458 | unsigned int n_elem; |
460 | unsigned int mapped_n_elem; | ||
461 | 459 | ||
462 | int dma_dir; | 460 | int dma_dir; |
463 | 461 | ||
464 | unsigned int pad_len; | ||
465 | unsigned int sect_size; | 462 | unsigned int sect_size; |
466 | 463 | ||
467 | unsigned int nbytes; | 464 | unsigned int nbytes; |
468 | unsigned int raw_nbytes; | ||
469 | unsigned int curbytes; | 465 | unsigned int curbytes; |
470 | 466 | ||
471 | struct scatterlist *cursg; | 467 | struct scatterlist *cursg; |
472 | unsigned int cursg_ofs; | 468 | unsigned int cursg_ofs; |
473 | 469 | ||
474 | struct scatterlist *last_sg; | ||
475 | struct scatterlist saved_last_sg; | ||
476 | struct scatterlist sgent; | 470 | struct scatterlist sgent; |
477 | struct scatterlist extra_sg[2]; | ||
478 | 471 | ||
479 | struct scatterlist *sg; | 472 | struct scatterlist *sg; |
480 | 473 | ||
@@ -619,9 +612,6 @@ struct ata_port { | |||
619 | struct ata_prd *prd; /* our SG list */ | 612 | struct ata_prd *prd; /* our SG list */ |
620 | dma_addr_t prd_dma; /* and its DMA mapping */ | 613 | dma_addr_t prd_dma; /* and its DMA mapping */ |
621 | 614 | ||
622 | void *pad; /* array of DMA pad buffers */ | ||
623 | dma_addr_t pad_dma; | ||
624 | |||
625 | struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ | 615 | struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ |
626 | 616 | ||
627 | u8 ctl; /* cache of ATA control register */ | 617 | u8 ctl; /* cache of ATA control register */ |
@@ -1207,7 +1197,7 @@ static inline struct ata_link *ata_port_next_link(struct ata_link *link) | |||
1207 | return ap->pmp_link; | 1197 | return ap->pmp_link; |
1208 | } | 1198 | } |
1209 | 1199 | ||
1210 | if (++link - ap->pmp_link < ap->nr_pmp_links) | 1200 | if (++link < ap->nr_pmp_links + ap->pmp_link) |
1211 | return link; | 1201 | return link; |
1212 | return NULL; | 1202 | return NULL; |
1213 | } | 1203 | } |
@@ -1363,12 +1353,9 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc) | |||
1363 | qc->flags = 0; | 1353 | qc->flags = 0; |
1364 | qc->cursg = NULL; | 1354 | qc->cursg = NULL; |
1365 | qc->cursg_ofs = 0; | 1355 | qc->cursg_ofs = 0; |
1366 | qc->nbytes = qc->raw_nbytes = qc->curbytes = 0; | 1356 | qc->nbytes = qc->curbytes = 0; |
1367 | qc->n_elem = 0; | 1357 | qc->n_elem = 0; |
1368 | qc->mapped_n_elem = 0; | ||
1369 | qc->err_mask = 0; | 1358 | qc->err_mask = 0; |
1370 | qc->pad_len = 0; | ||
1371 | qc->last_sg = NULL; | ||
1372 | qc->sect_size = ATA_SECT_SIZE; | 1359 | qc->sect_size = ATA_SECT_SIZE; |
1373 | 1360 | ||
1374 | ata_tf_init(qc->dev, &qc->tf); | 1361 | ata_tf_init(qc->dev, &qc->tf); |
@@ -1423,19 +1410,6 @@ static inline unsigned int __ac_err_mask(u8 status) | |||
1423 | return mask; | 1410 | return mask; |
1424 | } | 1411 | } |
1425 | 1412 | ||
1426 | static inline int ata_pad_alloc(struct ata_port *ap, struct device *dev) | ||
1427 | { | ||
1428 | ap->pad_dma = 0; | ||
1429 | ap->pad = dmam_alloc_coherent(dev, ATA_DMA_PAD_BUF_SZ, | ||
1430 | &ap->pad_dma, GFP_KERNEL); | ||
1431 | return (ap->pad == NULL) ? -ENOMEM : 0; | ||
1432 | } | ||
1433 | |||
1434 | static inline void ata_pad_free(struct ata_port *ap, struct device *dev) | ||
1435 | { | ||
1436 | dmam_free_coherent(dev, ATA_DMA_PAD_BUF_SZ, ap->pad, ap->pad_dma); | ||
1437 | } | ||
1438 | |||
1439 | static inline struct ata_port *ata_shost_to_port(struct Scsi_Host *host) | 1413 | static inline struct ata_port *ata_shost_to_port(struct Scsi_Host *host) |
1440 | { | 1414 | { |
1441 | return *(struct ata_port **)&host->hostdata[0]; | 1415 | return *(struct ata_port **)&host->hostdata[0]; |
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 */ |
9 | enum maple_code { | 9 | enum 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 | ||
30 | struct mapleq { | 30 | struct 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 | ||
38 | struct maple_devinfo { | 38 | struct 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 | ||
49 | struct maple_device { | 49 | struct 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 | ||
63 | struct maple_driver { | 62 | struct 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 | ||
70 | void maple_getcond_callback(struct maple_device *dev, | 70 | void 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); |
74 | int maple_driver_register(struct device_driver *drv); | 74 | int maple_driver_register(struct device_driver *drv); |
75 | void maple_add_packet(struct mapleq *mq); | 75 | void 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 | */ |
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/memcontrol.h b/include/linux/memcontrol.h index 925d57b236aa..04075628cb9a 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -20,9 +20,6 @@ | |||
20 | #ifndef _LINUX_MEMCONTROL_H | 20 | #ifndef _LINUX_MEMCONTROL_H |
21 | #define _LINUX_MEMCONTROL_H | 21 | #define _LINUX_MEMCONTROL_H |
22 | 22 | ||
23 | #include <linux/rcupdate.h> | ||
24 | #include <linux/mm.h> | ||
25 | |||
26 | struct mem_cgroup; | 23 | struct mem_cgroup; |
27 | struct page_cgroup; | 24 | struct page_cgroup; |
28 | struct page; | 25 | struct page; |
diff --git a/include/linux/mm.h b/include/linux/mm.h index e8abb3814209..3f3ccfe42de0 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -235,6 +235,7 @@ static inline int get_page_unless_zero(struct page *page) | |||
235 | struct page *vmalloc_to_page(const void *addr); | 235 | struct page *vmalloc_to_page(const void *addr); |
236 | unsigned long vmalloc_to_pfn(const void *addr); | 236 | unsigned long vmalloc_to_pfn(const void *addr); |
237 | 237 | ||
238 | #ifdef CONFIG_MMU | ||
238 | /* Determine if an address is within the vmalloc range */ | 239 | /* Determine if an address is within the vmalloc range */ |
239 | static inline int is_vmalloc_addr(const void *x) | 240 | static inline int is_vmalloc_addr(const void *x) |
240 | { | 241 | { |
@@ -242,6 +243,7 @@ static inline int is_vmalloc_addr(const void *x) | |||
242 | 243 | ||
243 | return addr >= VMALLOC_START && addr < VMALLOC_END; | 244 | return addr >= VMALLOC_START && addr < VMALLOC_END; |
244 | } | 245 | } |
246 | #endif | ||
245 | 247 | ||
246 | static inline struct page *compound_head(struct page *page) | 248 | static inline struct page *compound_head(struct page *page) |
247 | { | 249 | { |
@@ -786,7 +788,7 @@ int __set_page_dirty_nobuffers(struct page *page); | |||
786 | int __set_page_dirty_no_writeback(struct page *page); | 788 | int __set_page_dirty_no_writeback(struct page *page); |
787 | int redirty_page_for_writepage(struct writeback_control *wbc, | 789 | int redirty_page_for_writepage(struct writeback_control *wbc, |
788 | struct page *page); | 790 | struct page *page); |
789 | int FASTCALL(set_page_dirty(struct page *page)); | 791 | int set_page_dirty(struct page *page); |
790 | int set_page_dirty_lock(struct page *page); | 792 | int set_page_dirty_lock(struct page *page); |
791 | int clear_page_dirty_for_io(struct page *page); | 793 | int clear_page_dirty_for_io(struct page *page); |
792 | 794 | ||
@@ -829,7 +831,7 @@ extern void unregister_shrinker(struct shrinker *); | |||
829 | 831 | ||
830 | int vma_wants_writenotify(struct vm_area_struct *vma); | 832 | int vma_wants_writenotify(struct vm_area_struct *vma); |
831 | 833 | ||
832 | extern pte_t *FASTCALL(get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl)); | 834 | extern pte_t *get_locked_pte(struct mm_struct *mm, unsigned long addr, spinlock_t **ptl); |
833 | 835 | ||
834 | #ifdef __PAGETABLE_PUD_FOLDED | 836 | #ifdef __PAGETABLE_PUD_FOLDED |
835 | static inline int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, | 837 | static inline int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, |
@@ -1171,12 +1173,18 @@ static inline void enable_debug_pagealloc(void) | |||
1171 | { | 1173 | { |
1172 | debug_pagealloc_enabled = 1; | 1174 | debug_pagealloc_enabled = 1; |
1173 | } | 1175 | } |
1176 | #ifdef CONFIG_HIBERNATION | ||
1177 | extern bool kernel_page_present(struct page *page); | ||
1178 | #endif /* CONFIG_HIBERNATION */ | ||
1174 | #else | 1179 | #else |
1175 | static inline void | 1180 | static inline void |
1176 | kernel_map_pages(struct page *page, int numpages, int enable) {} | 1181 | kernel_map_pages(struct page *page, int numpages, int enable) {} |
1177 | static inline void enable_debug_pagealloc(void) | 1182 | static inline void enable_debug_pagealloc(void) |
1178 | { | 1183 | { |
1179 | } | 1184 | } |
1185 | #ifdef CONFIG_HIBERNATION | ||
1186 | static inline bool kernel_page_present(struct page *page) { return true; } | ||
1187 | #endif /* CONFIG_HIBERNATION */ | ||
1180 | #endif | 1188 | #endif |
1181 | 1189 | ||
1182 | extern struct vm_area_struct *get_gate_vma(struct task_struct *tsk); | 1190 | extern struct vm_area_struct *get_gate_vma(struct task_struct *tsk); |
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 | ||
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) |
@@ -567,8 +567,7 @@ static inline void print_modules(void) | |||
567 | { | 567 | { |
568 | } | 568 | } |
569 | 569 | ||
570 | static inline void module_update_markers(struct module *probe_module, | 570 | static 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 | ||
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..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 | ||
7 | struct vfsmount; | 8 | struct vfsmount; |
8 | 9 | ||
@@ -15,8 +16,7 @@ struct open_intent { | |||
15 | enum { MAX_NESTED_LINKS = 8 }; | 16 | enum { MAX_NESTED_LINKS = 8 }; |
16 | 17 | ||
17 | struct nameidata { | 18 | struct 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 | ||
32 | struct 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 | ||
65 | extern int FASTCALL(__user_walk(const char __user *, unsigned, struct nameidata *)); | 60 | 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 *)); | 61 | extern 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) |
71 | extern int FASTCALL(path_lookup(const char *, unsigned, struct nameidata *)); | 66 | extern int path_lookup(const char *, unsigned, struct nameidata *); |
72 | extern int vfs_path_lookup(struct dentry *, struct vfsmount *, | 67 | extern int vfs_path_lookup(struct dentry *, struct vfsmount *, |
73 | const char *, unsigned int, struct nameidata *); | 68 | const char *, unsigned int, struct nameidata *); |
74 | extern void path_release(struct nameidata *); | ||
75 | extern void path_release_on_umount(struct nameidata *); | ||
76 | 69 | ||
77 | extern int __user_path_lookup_open(const char __user *, unsigned lookup_flags, struct nameidata *nd, int open_flags); | 70 | extern int __user_path_lookup_open(const char __user *, unsigned lookup_flags, struct nameidata *nd, int open_flags); |
78 | extern int path_lookup_open(int dfd, const char *name, unsigned lookup_flags, struct nameidata *, int open_flags); | 71 | extern 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 | ||
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/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/page-flags.h b/include/linux/page-flags.h index bbad43fb8181..b5b30f1c1e59 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -266,7 +266,7 @@ static inline void SetPageUptodate(struct page *page) | |||
266 | 266 | ||
267 | #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) | 267 | #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) |
268 | 268 | ||
269 | #define PageTail(page) ((page->flags & PG_head_tail_mask) \ | 269 | #define PageTail(page) (((page)->flags & PG_head_tail_mask) \ |
270 | == PG_head_tail_mask) | 270 | == PG_head_tail_mask) |
271 | 271 | ||
272 | static inline void __SetPageTail(struct page *page) | 272 | static inline void __SetPageTail(struct page *page) |
@@ -279,7 +279,7 @@ static inline void __ClearPageTail(struct page *page) | |||
279 | page->flags &= ~PG_head_tail_mask; | 279 | page->flags &= ~PG_head_tail_mask; |
280 | } | 280 | } |
281 | 281 | ||
282 | #define PageHead(page) ((page->flags & PG_head_tail_mask) \ | 282 | #define PageHead(page) (((page)->flags & PG_head_tail_mask) \ |
283 | == (1L << PG_compound)) | 283 | == (1L << PG_compound)) |
284 | #define __SetPageHead(page) __SetPageCompound(page) | 284 | #define __SetPageHead(page) __SetPageCompound(page) |
285 | #define __ClearPageHead(page) __ClearPageCompound(page) | 285 | #define __ClearPageHead(page) __ClearPageCompound(page) |
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/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 | |||
4 | struct dentry; | ||
5 | struct vfsmount; | ||
6 | |||
7 | struct path { | ||
8 | struct vfsmount *mnt; | ||
9 | struct dentry *dentry; | ||
10 | }; | ||
11 | |||
12 | extern void path_get(struct path *); | ||
13 | extern 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..effdb558a588 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 |
@@ -2373,6 +2374,12 @@ | |||
2373 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a | 2374 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a |
2374 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e | 2375 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e |
2375 | #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b | 2376 | #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b |
2377 | #define PCI_DEVICE_ID_INTEL_ICH10_0 0x3a14 | ||
2378 | #define PCI_DEVICE_ID_INTEL_ICH10_1 0x3a16 | ||
2379 | #define PCI_DEVICE_ID_INTEL_ICH10_2 0x3a18 | ||
2380 | #define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a | ||
2381 | #define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30 | ||
2382 | #define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 | ||
2376 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f | 2383 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f |
2377 | #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff | 2384 | #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff |
2378 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 | 2385 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 |
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/pm.h b/include/linux/pm.h index eccf59ea2a77..015b735811b4 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
@@ -143,6 +143,9 @@ typedef struct pm_message { | |||
143 | * the upcoming system state (such as PCI_D3hot), and enable | 143 | * the upcoming system state (such as PCI_D3hot), and enable |
144 | * wakeup events as appropriate. | 144 | * wakeup events as appropriate. |
145 | * | 145 | * |
146 | * HIBERNATE Enter a low power device state appropriate for the hibernation | ||
147 | * state (eg. ACPI S4) and enable wakeup events as appropriate. | ||
148 | * | ||
146 | * FREEZE Quiesce operations so that a consistent image can be saved; | 149 | * FREEZE Quiesce operations so that a consistent image can be saved; |
147 | * but do NOT otherwise enter a low power device state, and do | 150 | * but do NOT otherwise enter a low power device state, and do |
148 | * NOT emit system wakeup events. | 151 | * NOT emit system wakeup events. |
@@ -166,11 +169,15 @@ typedef struct pm_message { | |||
166 | #define PM_EVENT_ON 0 | 169 | #define PM_EVENT_ON 0 |
167 | #define PM_EVENT_FREEZE 1 | 170 | #define PM_EVENT_FREEZE 1 |
168 | #define PM_EVENT_SUSPEND 2 | 171 | #define PM_EVENT_SUSPEND 2 |
169 | #define PM_EVENT_PRETHAW 3 | 172 | #define PM_EVENT_HIBERNATE 4 |
173 | #define PM_EVENT_PRETHAW 8 | ||
174 | |||
175 | #define PM_EVENT_SLEEP (PM_EVENT_SUSPEND | PM_EVENT_HIBERNATE) | ||
170 | 176 | ||
171 | #define PMSG_FREEZE ((struct pm_message){ .event = PM_EVENT_FREEZE, }) | 177 | #define PMSG_FREEZE ((struct pm_message){ .event = PM_EVENT_FREEZE, }) |
172 | #define PMSG_PRETHAW ((struct pm_message){ .event = PM_EVENT_PRETHAW, }) | 178 | #define PMSG_PRETHAW ((struct pm_message){ .event = PM_EVENT_PRETHAW, }) |
173 | #define PMSG_SUSPEND ((struct pm_message){ .event = PM_EVENT_SUSPEND, }) | 179 | #define PMSG_SUSPEND ((struct pm_message){ .event = PM_EVENT_SUSPEND, }) |
180 | #define PMSG_HIBERNATE ((struct pm_message){ .event = PM_EVENT_HIBERNATE, }) | ||
174 | #define PMSG_ON ((struct pm_message){ .event = PM_EVENT_ON, }) | 181 | #define PMSG_ON ((struct pm_message){ .event = PM_EVENT_ON, }) |
175 | 182 | ||
176 | struct dev_pm_info { | 183 | struct dev_pm_info { |
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 | ||
271 | union proc_op { | 271 | union 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 | ||
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/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 | ||
9 | struct seq_operations; | 9 | struct seq_operations; |
10 | struct file; | 10 | struct file; |
11 | struct vfsmount; | 11 | struct path; |
12 | struct dentry; | ||
13 | struct inode; | 12 | struct inode; |
14 | 13 | ||
15 | struct seq_file { | 14 | struct seq_file { |
@@ -42,7 +41,7 @@ int seq_puts(struct seq_file *m, const char *s); | |||
42 | int seq_printf(struct seq_file *, const char *, ...) | 41 | int seq_printf(struct seq_file *, const char *, ...) |
43 | __attribute__ ((format (printf,2,3))); | 42 | __attribute__ ((format (printf,2,3))); |
44 | 43 | ||
45 | int seq_path(struct seq_file *, struct vfsmount *, struct dentry *, char *); | 44 | int seq_path(struct seq_file *, struct path *, char *); |
46 | 45 | ||
47 | int single_open(struct file *, int (*)(struct seq_file *, void *), void *); | 46 | int single_open(struct file *, int (*)(struct seq_file *, void *), void *); |
48 | int single_release(struct inode *, struct file *); | 47 | int 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 | */ |
113 | extern struct kmem_cache kmalloc_caches[PAGE_SHIFT]; | 114 | extern 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) | |||
188 | void *kmem_cache_alloc(struct kmem_cache *, gfp_t); | 189 | void *kmem_cache_alloc(struct kmem_cache *, gfp_t); |
189 | void *__kmalloc(size_t size, gfp_t flags); | 190 | void *__kmalloc(size_t size, gfp_t flags); |
190 | 191 | ||
192 | static __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 | |||
191 | static __always_inline void *kmalloc(size_t size, gfp_t flags) | 197 | static __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); | |||
214 | static __always_inline void *kmalloc_node(size_t size, gfp_t flags, int node) | 219 | static __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 */ |
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/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 | ||
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); |