diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-21 11:52:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-21 11:52:18 -0500 |
commit | b05005772f34497eb2b7415a651fe785cbe70e16 (patch) | |
tree | b176aeb7fa9baf69e77ddd83e844727490bfcf28 /include/linux | |
parent | 044f324f6ea5d55391db62fca6a295b2651cb946 (diff) | |
parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) |
Merge branch 'origin'
Conflicts:
Documentation/video4linux/CARDLIST.cx88
drivers/media/video/cx88/Kconfig
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/saa7134/saa7134-dvb.c
Resolved as in the original merge by Mauro Carvalho Chehab
Diffstat (limited to 'include/linux')
89 files changed, 531 insertions, 221 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 026c3c011dc0..d3bc25e6d27d 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -427,7 +427,8 @@ extern int acpi_mp_config; | |||
427 | extern struct acpi_table_mcfg_config *pci_mmcfg_config; | 427 | extern struct acpi_table_mcfg_config *pci_mmcfg_config; |
428 | extern int pci_mmcfg_config_num; | 428 | extern int pci_mmcfg_config_num; |
429 | 429 | ||
430 | extern int sbf_port ; | 430 | extern int sbf_port; |
431 | extern unsigned long acpi_video_flags; | ||
431 | 432 | ||
432 | #else /* !CONFIG_ACPI */ | 433 | #else /* !CONFIG_ACPI */ |
433 | 434 | ||
@@ -435,7 +436,7 @@ extern int sbf_port ; | |||
435 | 436 | ||
436 | #endif /* !CONFIG_ACPI */ | 437 | #endif /* !CONFIG_ACPI */ |
437 | 438 | ||
438 | int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low); | 439 | int acpi_register_gsi (u32 gsi, int triggering, int polarity); |
439 | int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); | 440 | int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); |
440 | 441 | ||
441 | /* | 442 | /* |
diff --git a/include/linux/agpgart.h b/include/linux/agpgart.h index 17a17c55a17f..6d59c8efe3be 100644 --- a/include/linux/agpgart.h +++ b/include/linux/agpgart.h | |||
@@ -111,6 +111,7 @@ typedef struct _agp_unbind { | |||
111 | } agp_unbind; | 111 | } agp_unbind; |
112 | 112 | ||
113 | #else /* __KERNEL__ */ | 113 | #else /* __KERNEL__ */ |
114 | #include <linux/mutex.h> | ||
114 | 115 | ||
115 | #define AGPGART_MINOR 175 | 116 | #define AGPGART_MINOR 175 |
116 | 117 | ||
@@ -201,7 +202,7 @@ struct agp_file_private { | |||
201 | }; | 202 | }; |
202 | 203 | ||
203 | struct agp_front_data { | 204 | struct agp_front_data { |
204 | struct semaphore agp_mutex; | 205 | struct mutex agp_mutex; |
205 | struct agp_controller *current_controller; | 206 | struct agp_controller *current_controller; |
206 | struct agp_controller *controllers; | 207 | struct agp_controller *controllers; |
207 | struct agp_file_private *file_priv_list; | 208 | struct agp_file_private *file_priv_list; |
diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 6a2a19f14bb2..208650b1ad3a 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h | |||
@@ -81,7 +81,7 @@ static inline int generic_fls64(__u64 x) | |||
81 | { | 81 | { |
82 | __u32 h = x >> 32; | 82 | __u32 h = x >> 32; |
83 | if (h) | 83 | if (h) |
84 | return fls(x) + 32; | 84 | return fls(h) + 32; |
85 | return fls(x); | 85 | return fls(x); |
86 | } | 86 | } |
87 | 87 | ||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 02a585faa62c..860e7a485a5f 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -392,8 +392,8 @@ struct request_queue | |||
392 | unsigned int nr_congestion_off; | 392 | unsigned int nr_congestion_off; |
393 | unsigned int nr_batching; | 393 | unsigned int nr_batching; |
394 | 394 | ||
395 | unsigned short max_sectors; | 395 | unsigned int max_sectors; |
396 | unsigned short max_hw_sectors; | 396 | unsigned int max_hw_sectors; |
397 | unsigned short max_phys_segments; | 397 | unsigned short max_phys_segments; |
398 | unsigned short max_hw_segments; | 398 | unsigned short max_hw_segments; |
399 | unsigned short hardsect_size; | 399 | unsigned short hardsect_size; |
@@ -697,7 +697,7 @@ extern request_queue_t *blk_init_queue(request_fn_proc *, spinlock_t *); | |||
697 | extern void blk_cleanup_queue(request_queue_t *); | 697 | extern void blk_cleanup_queue(request_queue_t *); |
698 | extern void blk_queue_make_request(request_queue_t *, make_request_fn *); | 698 | extern void blk_queue_make_request(request_queue_t *, make_request_fn *); |
699 | extern void blk_queue_bounce_limit(request_queue_t *, u64); | 699 | extern void blk_queue_bounce_limit(request_queue_t *, u64); |
700 | extern void blk_queue_max_sectors(request_queue_t *, unsigned short); | 700 | extern void blk_queue_max_sectors(request_queue_t *, unsigned int); |
701 | extern void blk_queue_max_phys_segments(request_queue_t *, unsigned short); | 701 | extern void blk_queue_max_phys_segments(request_queue_t *, unsigned short); |
702 | extern void blk_queue_max_hw_segments(request_queue_t *, unsigned short); | 702 | extern void blk_queue_max_hw_segments(request_queue_t *, unsigned short); |
703 | extern void blk_queue_max_segment_size(request_queue_t *, unsigned int); | 703 | extern void blk_queue_max_segment_size(request_queue_t *, unsigned int); |
diff --git a/include/linux/compat.h b/include/linux/compat.h index f9ca534787e2..c9ab2a26348c 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
@@ -161,5 +161,25 @@ int copy_siginfo_to_user32(struct compat_siginfo __user *to, siginfo_t *from); | |||
161 | int get_compat_sigevent(struct sigevent *event, | 161 | int get_compat_sigevent(struct sigevent *event, |
162 | const struct compat_sigevent __user *u_event); | 162 | const struct compat_sigevent __user *u_event); |
163 | 163 | ||
164 | static inline int compat_timeval_compare(struct compat_timeval *lhs, | ||
165 | struct compat_timeval *rhs) | ||
166 | { | ||
167 | if (lhs->tv_sec < rhs->tv_sec) | ||
168 | return -1; | ||
169 | if (lhs->tv_sec > rhs->tv_sec) | ||
170 | return 1; | ||
171 | return lhs->tv_usec - rhs->tv_usec; | ||
172 | } | ||
173 | |||
174 | static inline int compat_timespec_compare(struct compat_timespec *lhs, | ||
175 | struct compat_timespec *rhs) | ||
176 | { | ||
177 | if (lhs->tv_sec < rhs->tv_sec) | ||
178 | return -1; | ||
179 | if (lhs->tv_sec > rhs->tv_sec) | ||
180 | return 1; | ||
181 | return lhs->tv_nsec - rhs->tv_nsec; | ||
182 | } | ||
183 | |||
164 | #endif /* CONFIG_COMPAT */ | 184 | #endif /* CONFIG_COMPAT */ |
165 | #endif /* _LINUX_COMPAT_H */ | 185 | #endif /* _LINUX_COMPAT_H */ |
diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h index 8fad50f8e389..ae7dfb790df3 100644 --- a/include/linux/compat_ioctl.h +++ b/include/linux/compat_ioctl.h | |||
@@ -696,6 +696,8 @@ COMPATIBLE_IOCTL(MEMLOCK) | |||
696 | COMPATIBLE_IOCTL(MEMUNLOCK) | 696 | COMPATIBLE_IOCTL(MEMUNLOCK) |
697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) | 697 | COMPATIBLE_IOCTL(MEMGETREGIONCOUNT) |
698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) | 698 | COMPATIBLE_IOCTL(MEMGETREGIONINFO) |
699 | COMPATIBLE_IOCTL(MEMGETBADBLOCK) | ||
700 | COMPATIBLE_IOCTL(MEMSETBADBLOCK) | ||
699 | /* NBD */ | 701 | /* NBD */ |
700 | ULONG_IOCTL(NBD_SET_SOCK) | 702 | ULONG_IOCTL(NBD_SET_SOCK) |
701 | ULONG_IOCTL(NBD_SET_BLKSIZE) | 703 | ULONG_IOCTL(NBD_SET_BLKSIZE) |
diff --git a/include/linux/configfs.h b/include/linux/configfs.h index acffb8c9073a..a7f015027535 100644 --- a/include/linux/configfs.h +++ b/include/linux/configfs.h | |||
@@ -126,7 +126,7 @@ extern struct config_item *config_group_find_obj(struct config_group *, const ch | |||
126 | 126 | ||
127 | 127 | ||
128 | struct configfs_attribute { | 128 | struct configfs_attribute { |
129 | char *ca_name; | 129 | const char *ca_name; |
130 | struct module *ca_owner; | 130 | struct module *ca_owner; |
131 | mode_t ca_mode; | 131 | mode_t ca_mode; |
132 | }; | 132 | }; |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index c31650df9241..17866d7e2b71 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #ifndef _LINUX_CPUFREQ_H | 14 | #ifndef _LINUX_CPUFREQ_H |
15 | #define _LINUX_CPUFREQ_H | 15 | #define _LINUX_CPUFREQ_H |
16 | 16 | ||
17 | #include <linux/mutex.h> | ||
17 | #include <linux/config.h> | 18 | #include <linux/config.h> |
18 | #include <linux/notifier.h> | 19 | #include <linux/notifier.h> |
19 | #include <linux/threads.h> | 20 | #include <linux/threads.h> |
@@ -82,7 +83,7 @@ struct cpufreq_policy { | |||
82 | unsigned int policy; /* see above */ | 83 | unsigned int policy; /* see above */ |
83 | struct cpufreq_governor *governor; /* see below */ | 84 | struct cpufreq_governor *governor; /* see below */ |
84 | 85 | ||
85 | struct semaphore lock; /* CPU ->setpolicy or ->target may | 86 | struct mutex lock; /* CPU ->setpolicy or ->target may |
86 | only be called once a time */ | 87 | only be called once a time */ |
87 | 88 | ||
88 | struct work_struct update; /* if update_policy() needs to be | 89 | struct work_struct update; /* if update_policy() needs to be |
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index 13e9f4a3ab26..60e56c6e03dd 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h | |||
@@ -84,7 +84,6 @@ | |||
84 | #include <linux/kernel.h> | 84 | #include <linux/kernel.h> |
85 | #include <linux/threads.h> | 85 | #include <linux/threads.h> |
86 | #include <linux/bitmap.h> | 86 | #include <linux/bitmap.h> |
87 | #include <asm/bug.h> | ||
88 | 87 | ||
89 | typedef struct { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t; | 88 | typedef struct { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t; |
90 | extern cpumask_t _unused_cpumask_arg_; | 89 | extern cpumask_t _unused_cpumask_arg_; |
@@ -329,7 +328,7 @@ static inline void __cpus_remap(cpumask_t *dstp, const cpumask_t *srcp, | |||
329 | * bitmap of size NR_CPUS. | 328 | * bitmap of size NR_CPUS. |
330 | * | 329 | * |
331 | * #ifdef CONFIG_HOTPLUG_CPU | 330 | * #ifdef CONFIG_HOTPLUG_CPU |
332 | * cpu_possible_map - all NR_CPUS bits set | 331 | * cpu_possible_map - has bit 'cpu' set iff cpu is populatable |
333 | * cpu_present_map - has bit 'cpu' set iff cpu is populated | 332 | * cpu_present_map - has bit 'cpu' set iff cpu is populated |
334 | * cpu_online_map - has bit 'cpu' set iff cpu available to scheduler | 333 | * cpu_online_map - has bit 'cpu' set iff cpu available to scheduler |
335 | * #else | 334 | * #else |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index a3ed5e059d47..4361f3789975 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -8,7 +8,6 @@ | |||
8 | #include <linux/spinlock.h> | 8 | #include <linux/spinlock.h> |
9 | #include <linux/cache.h> | 9 | #include <linux/cache.h> |
10 | #include <linux/rcupdate.h> | 10 | #include <linux/rcupdate.h> |
11 | #include <asm/bug.h> | ||
12 | 11 | ||
13 | struct nameidata; | 12 | struct nameidata; |
14 | struct vfsmount; | 13 | struct vfsmount; |
@@ -108,7 +107,9 @@ struct dentry { | |||
108 | struct dentry_operations *d_op; | 107 | struct dentry_operations *d_op; |
109 | struct super_block *d_sb; /* The root of the dentry tree */ | 108 | struct super_block *d_sb; /* The root of the dentry tree */ |
110 | void *d_fsdata; /* fs-specific data */ | 109 | void *d_fsdata; /* fs-specific data */ |
110 | #ifdef CONFIG_PROFILING | ||
111 | struct dcookie_struct *d_cookie; /* cookie, if any */ | 111 | struct dcookie_struct *d_cookie; /* cookie, if any */ |
112 | #endif | ||
112 | int d_mounted; | 113 | int d_mounted; |
113 | unsigned char d_iname[DNAME_INLINE_LEN_MIN]; /* small names */ | 114 | unsigned char d_iname[DNAME_INLINE_LEN_MIN]; /* small names */ |
114 | }; | 115 | }; |
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 83c7d207b80e..51e0e95a421a 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
@@ -91,7 +91,7 @@ struct target_type { | |||
91 | }; | 91 | }; |
92 | 92 | ||
93 | struct io_restrictions { | 93 | struct io_restrictions { |
94 | unsigned short max_sectors; | 94 | unsigned int max_sectors; |
95 | unsigned short max_phys_segments; | 95 | unsigned short max_phys_segments; |
96 | unsigned short max_hw_segments; | 96 | unsigned short max_hw_segments; |
97 | unsigned short hardsect_size; | 97 | unsigned short hardsect_size; |
diff --git a/include/linux/dvb/video.h b/include/linux/dvb/video.h index 1f7fa0351daf..faebfda397ff 100644 --- a/include/linux/dvb/video.h +++ b/include/linux/dvb/video.h | |||
@@ -135,7 +135,7 @@ typedef struct video_spu { | |||
135 | 135 | ||
136 | typedef struct video_spu_palette { /* SPU Palette information */ | 136 | typedef struct video_spu_palette { /* SPU Palette information */ |
137 | int length; | 137 | int length; |
138 | uint8_t *palette; | 138 | uint8_t __user *palette; |
139 | } video_spu_palette_t; | 139 | } video_spu_palette_t; |
140 | 140 | ||
141 | 141 | ||
diff --git a/include/linux/elevator.h b/include/linux/elevator.h index 23fe746a1d51..18cf1f3e1184 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h | |||
@@ -82,6 +82,7 @@ struct elevator_queue | |||
82 | extern void elv_dispatch_sort(request_queue_t *, struct request *); | 82 | extern void elv_dispatch_sort(request_queue_t *, struct request *); |
83 | extern void elv_add_request(request_queue_t *, struct request *, int, int); | 83 | extern void elv_add_request(request_queue_t *, struct request *, int, int); |
84 | extern void __elv_add_request(request_queue_t *, struct request *, int, int); | 84 | extern void __elv_add_request(request_queue_t *, struct request *, int, int); |
85 | extern void elv_insert(request_queue_t *, struct request *, int); | ||
85 | extern int elv_merge(request_queue_t *, struct request **, struct bio *); | 86 | extern int elv_merge(request_queue_t *, struct request **, struct bio *); |
86 | extern void elv_merge_requests(request_queue_t *, struct request *, | 87 | extern void elv_merge_requests(request_queue_t *, struct request *, |
87 | struct request *); | 88 | struct request *); |
diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h index dbd7bb4a33b7..0cf0bea010fe 100644 --- a/include/linux/elfcore.h +++ b/include/linux/elfcore.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/signal.h> | 5 | #include <linux/signal.h> |
6 | #include <linux/time.h> | 6 | #include <linux/time.h> |
7 | #include <linux/user.h> | 7 | #include <linux/user.h> |
8 | #include <linux/ptrace.h> | ||
8 | 9 | ||
9 | struct elf_siginfo | 10 | struct elf_siginfo |
10 | { | 11 | { |
diff --git a/include/linux/file.h b/include/linux/file.h index 418b6101b59a..9901b850f2e4 100644 --- a/include/linux/file.h +++ b/include/linux/file.h | |||
@@ -60,8 +60,6 @@ extern void put_filp(struct file *); | |||
60 | extern int get_unused_fd(void); | 60 | extern int get_unused_fd(void); |
61 | extern void FASTCALL(put_unused_fd(unsigned int fd)); | 61 | extern void FASTCALL(put_unused_fd(unsigned int fd)); |
62 | struct kmem_cache; | 62 | struct kmem_cache; |
63 | extern void filp_ctor(void * objp, struct kmem_cache *cachep, unsigned long cflags); | ||
64 | extern void filp_dtor(void * objp, struct kmem_cache *cachep, unsigned long dflags); | ||
65 | 63 | ||
66 | extern struct file ** alloc_fd_array(int); | 64 | extern struct file ** alloc_fd_array(int); |
67 | extern void free_fd_array(struct file **, int); | 65 | extern void free_fd_array(struct file **, int); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 84bb449b9b01..128d0082522c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -35,6 +35,7 @@ struct files_stat_struct { | |||
35 | int max_files; /* tunable */ | 35 | int max_files; /* tunable */ |
36 | }; | 36 | }; |
37 | extern struct files_stat_struct files_stat; | 37 | extern struct files_stat_struct files_stat; |
38 | extern int get_max_files(void); | ||
38 | 39 | ||
39 | struct inodes_stat_t { | 40 | struct inodes_stat_t { |
40 | int nr_inodes; | 41 | int nr_inodes; |
@@ -363,6 +364,8 @@ struct address_space_operations { | |||
363 | loff_t offset, unsigned long nr_segs); | 364 | loff_t offset, unsigned long nr_segs); |
364 | struct page* (*get_xip_page)(struct address_space *, sector_t, | 365 | struct page* (*get_xip_page)(struct address_space *, sector_t, |
365 | int); | 366 | int); |
367 | /* migrate the contents of a page to the specified target */ | ||
368 | int (*migratepage) (struct page *, struct page *); | ||
366 | }; | 369 | }; |
367 | 370 | ||
368 | struct backing_dev_info; | 371 | struct backing_dev_info; |
@@ -1416,9 +1419,6 @@ extern int is_bad_inode(struct inode *); | |||
1416 | extern struct file_operations read_fifo_fops; | 1419 | extern struct file_operations read_fifo_fops; |
1417 | extern struct file_operations write_fifo_fops; | 1420 | extern struct file_operations write_fifo_fops; |
1418 | extern struct file_operations rdwr_fifo_fops; | 1421 | extern struct file_operations rdwr_fifo_fops; |
1419 | extern struct file_operations read_pipe_fops; | ||
1420 | extern struct file_operations write_pipe_fops; | ||
1421 | extern struct file_operations rdwr_pipe_fops; | ||
1422 | 1422 | ||
1423 | extern int fs_may_remount_ro(struct super_block *); | 1423 | extern int fs_may_remount_ro(struct super_block *); |
1424 | 1424 | ||
@@ -1664,6 +1664,8 @@ extern int vfs_follow_link(struct nameidata *, const char *); | |||
1664 | extern int page_readlink(struct dentry *, char __user *, int); | 1664 | extern int page_readlink(struct dentry *, char __user *, int); |
1665 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); | 1665 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); |
1666 | extern void page_put_link(struct dentry *, struct nameidata *, void *); | 1666 | extern void page_put_link(struct dentry *, struct nameidata *, void *); |
1667 | extern int __page_symlink(struct inode *inode, const char *symname, int len, | ||
1668 | gfp_t gfp_mask); | ||
1667 | extern int page_symlink(struct inode *inode, const char *symname, int len); | 1669 | extern int page_symlink(struct inode *inode, const char *symname, int len); |
1668 | extern struct inode_operations page_symlink_inode_operations; | 1670 | extern struct inode_operations page_symlink_inode_operations; |
1669 | extern int generic_readlink(struct dentry *, char __user *, int); | 1671 | extern int generic_readlink(struct dentry *, char __user *, int); |
@@ -1719,6 +1721,12 @@ extern void simple_release_fs(struct vfsmount **mount, int *count); | |||
1719 | 1721 | ||
1720 | extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); | 1722 | extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); |
1721 | 1723 | ||
1724 | #ifdef CONFIG_MIGRATION | ||
1725 | extern int buffer_migrate_page(struct page *, struct page *); | ||
1726 | #else | ||
1727 | #define buffer_migrate_page NULL | ||
1728 | #endif | ||
1729 | |||
1722 | extern int inode_change_ok(struct inode *, struct iattr *); | 1730 | extern int inode_change_ok(struct inode *, struct iattr *); |
1723 | extern int __must_check inode_setattr(struct inode *, struct iattr *); | 1731 | extern int __must_check inode_setattr(struct inode *, struct iattr *); |
1724 | 1732 | ||
diff --git a/include/linux/fuse.h b/include/linux/fuse.h index 528959c52f1b..5425b60021e3 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h | |||
@@ -14,7 +14,7 @@ | |||
14 | #define FUSE_KERNEL_VERSION 7 | 14 | #define FUSE_KERNEL_VERSION 7 |
15 | 15 | ||
16 | /** Minor version number of this interface */ | 16 | /** Minor version number of this interface */ |
17 | #define FUSE_KERNEL_MINOR_VERSION 5 | 17 | #define FUSE_KERNEL_MINOR_VERSION 6 |
18 | 18 | ||
19 | /** The node ID of the root inode */ | 19 | /** The node ID of the root inode */ |
20 | #define FUSE_ROOT_ID 1 | 20 | #define FUSE_ROOT_ID 1 |
@@ -58,6 +58,9 @@ struct fuse_kstatfs { | |||
58 | __u32 spare[6]; | 58 | __u32 spare[6]; |
59 | }; | 59 | }; |
60 | 60 | ||
61 | /** | ||
62 | * Bitmasks for fuse_setattr_in.valid | ||
63 | */ | ||
61 | #define FATTR_MODE (1 << 0) | 64 | #define FATTR_MODE (1 << 0) |
62 | #define FATTR_UID (1 << 1) | 65 | #define FATTR_UID (1 << 1) |
63 | #define FATTR_GID (1 << 2) | 66 | #define FATTR_GID (1 << 2) |
@@ -75,6 +78,11 @@ struct fuse_kstatfs { | |||
75 | #define FOPEN_DIRECT_IO (1 << 0) | 78 | #define FOPEN_DIRECT_IO (1 << 0) |
76 | #define FOPEN_KEEP_CACHE (1 << 1) | 79 | #define FOPEN_KEEP_CACHE (1 << 1) |
77 | 80 | ||
81 | /** | ||
82 | * INIT request/reply flags | ||
83 | */ | ||
84 | #define FUSE_ASYNC_READ (1 << 0) | ||
85 | |||
78 | enum fuse_opcode { | 86 | enum fuse_opcode { |
79 | FUSE_LOOKUP = 1, | 87 | FUSE_LOOKUP = 1, |
80 | FUSE_FORGET = 2, /* no reply */ | 88 | FUSE_FORGET = 2, /* no reply */ |
@@ -247,12 +255,16 @@ struct fuse_access_in { | |||
247 | struct fuse_init_in { | 255 | struct fuse_init_in { |
248 | __u32 major; | 256 | __u32 major; |
249 | __u32 minor; | 257 | __u32 minor; |
258 | __u32 max_readahead; | ||
259 | __u32 flags; | ||
250 | }; | 260 | }; |
251 | 261 | ||
252 | struct fuse_init_out { | 262 | struct fuse_init_out { |
253 | __u32 major; | 263 | __u32 major; |
254 | __u32 minor; | 264 | __u32 minor; |
255 | __u32 unused[3]; | 265 | __u32 max_readahead; |
266 | __u32 flags; | ||
267 | __u32 unused; | ||
256 | __u32 max_write; | 268 | __u32 max_write; |
257 | }; | 269 | }; |
258 | 270 | ||
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 20f9148e38d9..7851e6b520cf 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
@@ -157,9 +157,9 @@ extern void FASTCALL(free_cold_page(struct page *page)); | |||
157 | 157 | ||
158 | void page_alloc_init(void); | 158 | void page_alloc_init(void); |
159 | #ifdef CONFIG_NUMA | 159 | #ifdef CONFIG_NUMA |
160 | void drain_remote_pages(void); | 160 | void drain_node_pages(int node); |
161 | #else | 161 | #else |
162 | static inline void drain_remote_pages(void) { }; | 162 | static inline void drain_node_pages(int node) { }; |
163 | #endif | 163 | #endif |
164 | 164 | ||
165 | #endif /* __LINUX_GFP_H */ | 165 | #endif /* __LINUX_GFP_H */ |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 089bfb1fa01a..6401c31d6add 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -40,6 +40,7 @@ enum hrtimer_restart { | |||
40 | enum hrtimer_state { | 40 | enum hrtimer_state { |
41 | HRTIMER_INACTIVE, /* Timer is inactive */ | 41 | HRTIMER_INACTIVE, /* Timer is inactive */ |
42 | HRTIMER_EXPIRED, /* Timer is expired */ | 42 | HRTIMER_EXPIRED, /* Timer is expired */ |
43 | HRTIMER_RUNNING, /* Timer is running the callback function */ | ||
43 | HRTIMER_PENDING, /* Timer is pending */ | 44 | HRTIMER_PENDING, /* Timer is pending */ |
44 | }; | 45 | }; |
45 | 46 | ||
@@ -100,9 +101,8 @@ struct hrtimer_base { | |||
100 | /* Exported timer functions: */ | 101 | /* Exported timer functions: */ |
101 | 102 | ||
102 | /* Initialize timers: */ | 103 | /* Initialize timers: */ |
103 | extern void hrtimer_init(struct hrtimer *timer, const clockid_t which_clock); | 104 | extern void hrtimer_init(struct hrtimer *timer, clockid_t which_clock, |
104 | extern void hrtimer_rebase(struct hrtimer *timer, const clockid_t which_clock); | 105 | enum hrtimer_mode mode); |
105 | |||
106 | 106 | ||
107 | /* Basic timer operations: */ | 107 | /* Basic timer operations: */ |
108 | extern int hrtimer_start(struct hrtimer *timer, ktime_t tim, | 108 | extern int hrtimer_start(struct hrtimer *timer, ktime_t tim, |
@@ -116,6 +116,10 @@ extern int hrtimer_try_to_cancel(struct hrtimer *timer); | |||
116 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); | 116 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); |
117 | extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); | 117 | extern int hrtimer_get_res(const clockid_t which_clock, struct timespec *tp); |
118 | 118 | ||
119 | #ifdef CONFIG_NO_IDLE_HZ | ||
120 | extern ktime_t hrtimer_get_next_event(void); | ||
121 | #endif | ||
122 | |||
119 | static inline int hrtimer_active(const struct hrtimer *timer) | 123 | static inline int hrtimer_active(const struct hrtimer *timer) |
120 | { | 124 | { |
121 | return timer->state == HRTIMER_PENDING; | 125 | return timer->state == HRTIMER_PENDING; |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 7863a59bd598..63f1d63cc1d8 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -100,6 +100,9 @@ extern s32 i2c_smbus_write_block_data(struct i2c_client * client, | |||
100 | /* Returns the number of read bytes */ | 100 | /* Returns the number of read bytes */ |
101 | extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client, | 101 | extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client, |
102 | u8 command, u8 *values); | 102 | u8 command, u8 *values); |
103 | extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client, | ||
104 | u8 command, u8 length, | ||
105 | u8 *values); | ||
103 | 106 | ||
104 | /* | 107 | /* |
105 | * A driver is capable of handling one or more physical devices present on | 108 | * A driver is capable of handling one or more physical devices present on |
diff --git a/include/linux/i2o.h b/include/linux/i2o.h index 9ba806796667..5a9d8c599171 100644 --- a/include/linux/i2o.h +++ b/include/linux/i2o.h | |||
@@ -1115,9 +1115,11 @@ static inline struct i2o_message *i2o_msg_get(struct i2o_controller *c) | |||
1115 | return ERR_PTR(-ENOMEM); | 1115 | return ERR_PTR(-ENOMEM); |
1116 | 1116 | ||
1117 | mmsg->mfa = readl(c->in_port); | 1117 | mmsg->mfa = readl(c->in_port); |
1118 | if (mmsg->mfa == I2O_QUEUE_EMPTY) { | 1118 | if (unlikely(mmsg->mfa >= c->in_queue.len)) { |
1119 | mempool_free(mmsg, c->in_msg.mempool); | 1119 | mempool_free(mmsg, c->in_msg.mempool); |
1120 | return ERR_PTR(-EBUSY); | 1120 | if(mmsg->mfa == I2O_QUEUE_EMPTY) |
1121 | return ERR_PTR(-EBUSY); | ||
1122 | return ERR_PTR(-EFAULT); | ||
1121 | } | 1123 | } |
1122 | 1124 | ||
1123 | return &mmsg->msg; | 1125 | return &mmsg->msg; |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 110b3cfac021..a7fc4cc79b23 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -582,7 +582,6 @@ typedef struct ide_drive_s { | |||
582 | unsigned noprobe : 1; /* from: hdx=noprobe */ | 582 | unsigned noprobe : 1; /* from: hdx=noprobe */ |
583 | unsigned removable : 1; /* 1 if need to do check_media_change */ | 583 | unsigned removable : 1; /* 1 if need to do check_media_change */ |
584 | unsigned attach : 1; /* needed for removable devices */ | 584 | unsigned attach : 1; /* needed for removable devices */ |
585 | unsigned is_flash : 1; /* 1 if probed as flash */ | ||
586 | unsigned forced_geom : 1; /* 1 if hdx=c,h,s was given at boot */ | 585 | unsigned forced_geom : 1; /* 1 if hdx=c,h,s was given at boot */ |
587 | unsigned no_unmask : 1; /* disallow setting unmask bit */ | 586 | unsigned no_unmask : 1; /* disallow setting unmask bit */ |
588 | unsigned no_io_32bit : 1; /* disallow enabling 32bit I/O */ | 587 | unsigned no_io_32bit : 1; /* disallow enabling 32bit I/O */ |
@@ -1006,7 +1005,6 @@ extern ide_hwif_t ide_hwifs[]; /* master data repository */ | |||
1006 | extern int noautodma; | 1005 | extern int noautodma; |
1007 | 1006 | ||
1008 | extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); | 1007 | extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); |
1009 | extern int __ide_end_request (ide_drive_t *drive, struct request *rq, int uptodate, int nrsecs); | ||
1010 | 1008 | ||
1011 | /* | 1009 | /* |
1012 | * This is used on exit from the driver to designate the next irq handler | 1010 | * This is used on exit from the driver to designate the next irq handler |
diff --git a/include/linux/io.h b/include/linux/io.h new file mode 100644 index 000000000000..85533ec5aaa1 --- /dev/null +++ b/include/linux/io.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Copyright 2006 PathScale, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This file is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of version 2 of the GNU General Public License | ||
6 | * as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, write to the Free Software Foundation, | ||
15 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. | ||
16 | */ | ||
17 | |||
18 | #ifndef _LINUX_IO_H | ||
19 | #define _LINUX_IO_H | ||
20 | |||
21 | #include <asm/io.h> | ||
22 | |||
23 | void __iowrite32_copy(void __iomem *to, const void *from, size_t count); | ||
24 | |||
25 | #endif /* _LINUX_IO_H */ | ||
diff --git a/include/linux/ioc3.h b/include/linux/ioc3.h index e7906a72a4f1..da7c09e4ede6 100644 --- a/include/linux/ioc3.h +++ b/include/linux/ioc3.h | |||
@@ -27,7 +27,7 @@ struct ioc3_driver_data { | |||
27 | int id; /* IOC3 sequence number */ | 27 | int id; /* IOC3 sequence number */ |
28 | /* PCI mapping */ | 28 | /* PCI mapping */ |
29 | unsigned long pma; /* physical address */ | 29 | unsigned long pma; /* physical address */ |
30 | struct __iomem ioc3 *vma; /* pointer to registers */ | 30 | struct ioc3 __iomem *vma; /* pointer to registers */ |
31 | struct pci_dev *pdev; /* PCI device */ | 31 | struct pci_dev *pdev; /* PCI device */ |
32 | /* IRQ stuff */ | 32 | /* IRQ stuff */ |
33 | int dual_irq; /* set if separate IRQs are used */ | 33 | int dual_irq; /* set if separate IRQs are used */ |
diff --git a/include/linux/jbd.h b/include/linux/jbd.h index 558cb4c26ec9..41ee79962bb2 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #define jfs_debug jbd_debug | 23 | #define jfs_debug jbd_debug |
24 | #else | 24 | #else |
25 | 25 | ||
26 | #include <linux/types.h> | ||
26 | #include <linux/buffer_head.h> | 27 | #include <linux/buffer_head.h> |
27 | #include <linux/journal-head.h> | 28 | #include <linux/journal-head.h> |
28 | #include <linux/stddef.h> | 29 | #include <linux/stddef.h> |
@@ -238,7 +239,6 @@ typedef struct journal_superblock_s | |||
238 | 239 | ||
239 | #include <linux/fs.h> | 240 | #include <linux/fs.h> |
240 | #include <linux/sched.h> | 241 | #include <linux/sched.h> |
241 | #include <asm/bug.h> | ||
242 | 242 | ||
243 | #define JBD_ASSERTIONS | 243 | #define JBD_ASSERTIONS |
244 | #ifdef JBD_ASSERTIONS | 244 | #ifdef JBD_ASSERTIONS |
@@ -498,12 +498,6 @@ struct transaction_s | |||
498 | struct journal_head *t_checkpoint_list; | 498 | struct journal_head *t_checkpoint_list; |
499 | 499 | ||
500 | /* | 500 | /* |
501 | * Doubly-linked circular list of all buffers submitted for IO while | ||
502 | * checkpointing. [j_list_lock] | ||
503 | */ | ||
504 | struct journal_head *t_checkpoint_io_list; | ||
505 | |||
506 | /* | ||
507 | * Doubly-linked circular list of temporary buffers currently undergoing | 501 | * Doubly-linked circular list of temporary buffers currently undergoing |
508 | * IO in the log [j_list_lock] | 502 | * IO in the log [j_list_lock] |
509 | */ | 503 | */ |
@@ -618,6 +612,7 @@ struct transaction_s | |||
618 | * @j_wbuf: array of buffer_heads for journal_commit_transaction | 612 | * @j_wbuf: array of buffer_heads for journal_commit_transaction |
619 | * @j_wbufsize: maximum number of buffer_heads allowed in j_wbuf, the | 613 | * @j_wbufsize: maximum number of buffer_heads allowed in j_wbuf, the |
620 | * number that will fit in j_blocksize | 614 | * number that will fit in j_blocksize |
615 | * @j_last_sync_writer: most recent pid which did a synchronous write | ||
621 | * @j_private: An opaque pointer to fs-private information. | 616 | * @j_private: An opaque pointer to fs-private information. |
622 | */ | 617 | */ |
623 | 618 | ||
@@ -807,6 +802,8 @@ struct journal_s | |||
807 | struct buffer_head **j_wbuf; | 802 | struct buffer_head **j_wbuf; |
808 | int j_wbufsize; | 803 | int j_wbufsize; |
809 | 804 | ||
805 | pid_t j_last_sync_writer; | ||
806 | |||
810 | /* | 807 | /* |
811 | * An opaque pointer to fs-private information. ext3 puts its | 808 | * An opaque pointer to fs-private information. ext3 puts its |
812 | * superblock pointer here | 809 | * superblock pointer here |
@@ -849,7 +846,7 @@ extern void journal_commit_transaction(journal_t *); | |||
849 | 846 | ||
850 | /* Checkpoint list management */ | 847 | /* Checkpoint list management */ |
851 | int __journal_clean_checkpoint_list(journal_t *journal); | 848 | int __journal_clean_checkpoint_list(journal_t *journal); |
852 | int __journal_remove_checkpoint(struct journal_head *); | 849 | void __journal_remove_checkpoint(struct journal_head *); |
853 | void __journal_insert_checkpoint(struct journal_head *, transaction_t *); | 850 | void __journal_insert_checkpoint(struct journal_head *, transaction_t *); |
854 | 851 | ||
855 | /* Buffer IO */ | 852 | /* Buffer IO */ |
diff --git a/include/linux/kbd_kern.h b/include/linux/kbd_kern.h index 45f625d7d0b2..e87c32a5c86a 100644 --- a/include/linux/kbd_kern.h +++ b/include/linux/kbd_kern.h | |||
@@ -151,6 +151,13 @@ extern unsigned int keymap_count; | |||
151 | 151 | ||
152 | static inline void con_schedule_flip(struct tty_struct *t) | 152 | static inline void con_schedule_flip(struct tty_struct *t) |
153 | { | 153 | { |
154 | unsigned long flags; | ||
155 | spin_lock_irqsave(&t->buf.lock, flags); | ||
156 | if (t->buf.tail != NULL) { | ||
157 | t->buf.tail->active = 0; | ||
158 | t->buf.tail->commit = t->buf.tail->used; | ||
159 | } | ||
160 | spin_unlock_irqrestore(&t->buf.lock, flags); | ||
154 | schedule_work(&t->buf.work); | 161 | schedule_work(&t->buf.work); |
155 | } | 162 | } |
156 | 163 | ||
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index a5363324cf95..3b507bf05d09 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -185,6 +185,7 @@ extern enum system_states { | |||
185 | SYSTEM_HALT, | 185 | SYSTEM_HALT, |
186 | SYSTEM_POWER_OFF, | 186 | SYSTEM_POWER_OFF, |
187 | SYSTEM_RESTART, | 187 | SYSTEM_RESTART, |
188 | SYSTEM_SUSPEND_DISK, | ||
188 | } system_state; | 189 | } system_state; |
189 | 190 | ||
190 | #define TAINT_PROPRIETARY_MODULE (1<<0) | 191 | #define TAINT_PROPRIETARY_MODULE (1<<0) |
@@ -325,12 +326,6 @@ struct sysinfo { | |||
325 | /* Force a compilation error if condition is true */ | 326 | /* Force a compilation error if condition is true */ |
326 | #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) | 327 | #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) |
327 | 328 | ||
328 | #ifdef CONFIG_SYSCTL | ||
329 | extern int randomize_va_space; | ||
330 | #else | ||
331 | #define randomize_va_space 1 | ||
332 | #endif | ||
333 | |||
334 | /* Trap pasters of __FUNCTION__ at compile-time */ | 329 | /* Trap pasters of __FUNCTION__ at compile-time */ |
335 | #define __FUNCTION__ (__func__) | 330 | #define __FUNCTION__ (__func__) |
336 | 331 | ||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index a311f58c8a7c..cfb3410e32b1 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
@@ -6,6 +6,7 @@ | |||
6 | #include <linux/list.h> | 6 | #include <linux/list.h> |
7 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
8 | #include <linux/compat.h> | 8 | #include <linux/compat.h> |
9 | #include <linux/ioport.h> | ||
9 | #include <asm/kexec.h> | 10 | #include <asm/kexec.h> |
10 | 11 | ||
11 | /* Verify architecture specific macros are defined */ | 12 | /* Verify architecture specific macros are defined */ |
diff --git a/include/linux/kmalloc_sizes.h b/include/linux/kmalloc_sizes.h index d82d4c05c12d..bda23e00ed71 100644 --- a/include/linux/kmalloc_sizes.h +++ b/include/linux/kmalloc_sizes.h | |||
@@ -19,8 +19,10 @@ | |||
19 | CACHE(32768) | 19 | CACHE(32768) |
20 | CACHE(65536) | 20 | CACHE(65536) |
21 | CACHE(131072) | 21 | CACHE(131072) |
22 | #ifndef CONFIG_MMU | 22 | #if (NR_CPUS > 512) || (MAX_NUMNODES > 256) || !defined(CONFIG_MMU) |
23 | CACHE(262144) | 23 | CACHE(262144) |
24 | #endif | ||
25 | #ifndef CONFIG_MMU | ||
24 | CACHE(524288) | 26 | CACHE(524288) |
25 | CACHE(1048576) | 27 | CACHE(1048576) |
26 | #ifdef CONFIG_LARGE_ALLOCS | 28 | #ifdef CONFIG_LARGE_ALLOCS |
diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 2a8d8da70961..c374b5fa8d3b 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h | |||
@@ -41,8 +41,10 @@ enum kobject_action { | |||
41 | KOBJ_ADD = (__force kobject_action_t) 0x01, /* exclusive to core */ | 41 | KOBJ_ADD = (__force kobject_action_t) 0x01, /* exclusive to core */ |
42 | KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* exclusive to core */ | 42 | KOBJ_REMOVE = (__force kobject_action_t) 0x02, /* exclusive to core */ |
43 | KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* device state change */ | 43 | KOBJ_CHANGE = (__force kobject_action_t) 0x03, /* device state change */ |
44 | KOBJ_OFFLINE = (__force kobject_action_t) 0x04, /* device offline */ | 44 | KOBJ_MOUNT = (__force kobject_action_t) 0x04, /* mount event for block devices (broken) */ |
45 | KOBJ_ONLINE = (__force kobject_action_t) 0x05, /* device online */ | 45 | KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices (broken) */ |
46 | KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* device offline */ | ||
47 | KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* device online */ | ||
46 | }; | 48 | }; |
47 | 49 | ||
48 | struct kobject { | 50 | struct kobject { |
diff --git a/include/linux/ktime.h b/include/linux/ktime.h index 1bd6552cc341..f3dec45ef874 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h | |||
@@ -10,6 +10,12 @@ | |||
10 | * | 10 | * |
11 | * Started by: Thomas Gleixner and Ingo Molnar | 11 | * Started by: Thomas Gleixner and Ingo Molnar |
12 | * | 12 | * |
13 | * Credits: | ||
14 | * | ||
15 | * Roman Zippel provided the ideas and primary code snippets of | ||
16 | * the ktime_t union and further simplifications of the original | ||
17 | * code. | ||
18 | * | ||
13 | * For licencing details see kernel-base/COPYING | 19 | * For licencing details see kernel-base/COPYING |
14 | */ | 20 | */ |
15 | #ifndef _LINUX_KTIME_H | 21 | #ifndef _LINUX_KTIME_H |
@@ -90,10 +96,16 @@ static inline ktime_t ktime_set(const long secs, const unsigned long nsecs) | |||
90 | ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; }) | 96 | ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; }) |
91 | 97 | ||
92 | /* convert a timespec to ktime_t format: */ | 98 | /* convert a timespec to ktime_t format: */ |
93 | #define timespec_to_ktime(ts) ktime_set((ts).tv_sec, (ts).tv_nsec) | 99 | static inline ktime_t timespec_to_ktime(struct timespec ts) |
100 | { | ||
101 | return ktime_set(ts.tv_sec, ts.tv_nsec); | ||
102 | } | ||
94 | 103 | ||
95 | /* convert a timeval to ktime_t format: */ | 104 | /* convert a timeval to ktime_t format: */ |
96 | #define timeval_to_ktime(tv) ktime_set((tv).tv_sec, (tv).tv_usec * 1000) | 105 | static inline ktime_t timeval_to_ktime(struct timeval tv) |
106 | { | ||
107 | return ktime_set(tv.tv_sec, tv.tv_usec * NSEC_PER_USEC); | ||
108 | } | ||
97 | 109 | ||
98 | /* Map the ktime_t to timespec conversion to ns_to_timespec function */ | 110 | /* Map the ktime_t to timespec conversion to ns_to_timespec function */ |
99 | #define ktime_to_timespec(kt) ns_to_timespec((kt).tv64) | 111 | #define ktime_to_timespec(kt) ns_to_timespec((kt).tv64) |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 9e5db2949c58..c91be5e64ede 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -557,17 +557,29 @@ ata_sg_is_last(struct scatterlist *sg, struct ata_queued_cmd *qc) | |||
557 | } | 557 | } |
558 | 558 | ||
559 | static inline struct scatterlist * | 559 | static inline struct scatterlist * |
560 | ata_qc_first_sg(struct ata_queued_cmd *qc) | ||
561 | { | ||
562 | if (qc->n_elem) | ||
563 | return qc->__sg; | ||
564 | if (qc->pad_len) | ||
565 | return &qc->pad_sgent; | ||
566 | return NULL; | ||
567 | } | ||
568 | |||
569 | static inline struct scatterlist * | ||
560 | ata_qc_next_sg(struct scatterlist *sg, struct ata_queued_cmd *qc) | 570 | ata_qc_next_sg(struct scatterlist *sg, struct ata_queued_cmd *qc) |
561 | { | 571 | { |
562 | if (sg == &qc->pad_sgent) | 572 | if (sg == &qc->pad_sgent) |
563 | return NULL; | 573 | return NULL; |
564 | if (++sg - qc->__sg < qc->n_elem) | 574 | if (++sg - qc->__sg < qc->n_elem) |
565 | return sg; | 575 | return sg; |
566 | return qc->pad_len ? &qc->pad_sgent : NULL; | 576 | if (qc->pad_len) |
577 | return &qc->pad_sgent; | ||
578 | return NULL; | ||
567 | } | 579 | } |
568 | 580 | ||
569 | #define ata_for_each_sg(sg, qc) \ | 581 | #define ata_for_each_sg(sg, qc) \ |
570 | for (sg = qc->__sg; sg; sg = ata_qc_next_sg(sg, qc)) | 582 | for (sg = ata_qc_first_sg(qc); sg; sg = ata_qc_next_sg(sg, qc)) |
571 | 583 | ||
572 | static inline unsigned int ata_tag_valid(unsigned int tag) | 584 | static inline unsigned int ata_tag_valid(unsigned int tag) |
573 | { | 585 | { |
diff --git a/include/linux/list.h b/include/linux/list.h index 945daa1f13dd..47208bd99f9e 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -34,9 +34,11 @@ struct list_head { | |||
34 | #define LIST_HEAD(name) \ | 34 | #define LIST_HEAD(name) \ |
35 | struct list_head name = LIST_HEAD_INIT(name) | 35 | struct list_head name = LIST_HEAD_INIT(name) |
36 | 36 | ||
37 | #define INIT_LIST_HEAD(ptr) do { \ | 37 | static inline void INIT_LIST_HEAD(struct list_head *list) |
38 | (ptr)->next = (ptr); (ptr)->prev = (ptr); \ | 38 | { |
39 | } while (0) | 39 | list->next = list; |
40 | list->prev = list; | ||
41 | } | ||
40 | 42 | ||
41 | /* | 43 | /* |
42 | * Insert a new entry between two known consecutive entries. | 44 | * Insert a new entry between two known consecutive entries. |
@@ -534,7 +536,11 @@ struct hlist_node { | |||
534 | #define HLIST_HEAD_INIT { .first = NULL } | 536 | #define HLIST_HEAD_INIT { .first = NULL } |
535 | #define HLIST_HEAD(name) struct hlist_head name = { .first = NULL } | 537 | #define HLIST_HEAD(name) struct hlist_head name = { .first = NULL } |
536 | #define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL) | 538 | #define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL) |
537 | #define INIT_HLIST_NODE(ptr) ((ptr)->next = NULL, (ptr)->pprev = NULL) | 539 | static inline void INIT_HLIST_NODE(struct hlist_node *h) |
540 | { | ||
541 | h->next = NULL; | ||
542 | h->pprev = NULL; | ||
543 | } | ||
538 | 544 | ||
539 | static inline int hlist_unhashed(const struct hlist_node *h) | 545 | static inline int hlist_unhashed(const struct hlist_node *h) |
540 | { | 546 | { |
diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h index 95c8fea293ba..ef21ed296039 100644 --- a/include/linux/lockd/lockd.h +++ b/include/linux/lockd/lockd.h | |||
@@ -84,6 +84,7 @@ struct nlm_rqst { | |||
84 | struct nlm_args a_args; /* arguments */ | 84 | struct nlm_args a_args; /* arguments */ |
85 | struct nlm_res a_res; /* result */ | 85 | struct nlm_res a_res; /* result */ |
86 | struct nlm_wait * a_block; | 86 | struct nlm_wait * a_block; |
87 | unsigned int a_retries; /* Retry count */ | ||
87 | char a_owner[NLMCLNT_OHSIZE]; | 88 | char a_owner[NLMCLNT_OHSIZE]; |
88 | }; | 89 | }; |
89 | 90 | ||
@@ -148,8 +149,7 @@ struct nlm_rqst * nlmclnt_alloc_call(void); | |||
148 | int nlmclnt_prepare_block(struct nlm_rqst *req, struct nlm_host *host, struct file_lock *fl); | 149 | int nlmclnt_prepare_block(struct nlm_rqst *req, struct nlm_host *host, struct file_lock *fl); |
149 | void nlmclnt_finish_block(struct nlm_rqst *req); | 150 | void nlmclnt_finish_block(struct nlm_rqst *req); |
150 | long nlmclnt_block(struct nlm_rqst *req, long timeout); | 151 | long nlmclnt_block(struct nlm_rqst *req, long timeout); |
151 | int nlmclnt_cancel(struct nlm_host *, struct file_lock *); | 152 | u32 nlmclnt_grant(const struct sockaddr_in *addr, const struct nlm_lock *); |
152 | u32 nlmclnt_grant(struct nlm_lock *); | ||
153 | void nlmclnt_recovery(struct nlm_host *, u32); | 153 | void nlmclnt_recovery(struct nlm_host *, u32); |
154 | int nlmclnt_reclaim(struct nlm_host *, struct file_lock *); | 154 | int nlmclnt_reclaim(struct nlm_host *, struct file_lock *); |
155 | int nlmclnt_setgrantargs(struct nlm_rqst *, struct nlm_lock *); | 155 | int nlmclnt_setgrantargs(struct nlm_rqst *, struct nlm_lock *); |
@@ -204,7 +204,7 @@ nlmsvc_file_inode(struct nlm_file *file) | |||
204 | * Compare two host addresses (needs modifying for ipv6) | 204 | * Compare two host addresses (needs modifying for ipv6) |
205 | */ | 205 | */ |
206 | static __inline__ int | 206 | static __inline__ int |
207 | nlm_cmp_addr(struct sockaddr_in *sin1, struct sockaddr_in *sin2) | 207 | nlm_cmp_addr(const struct sockaddr_in *sin1, const struct sockaddr_in *sin2) |
208 | { | 208 | { |
209 | return sin1->sin_addr.s_addr == sin2->sin_addr.s_addr; | 209 | return sin1->sin_addr.s_addr == sin2->sin_addr.s_addr; |
210 | } | 210 | } |
@@ -214,7 +214,7 @@ nlm_cmp_addr(struct sockaddr_in *sin1, struct sockaddr_in *sin2) | |||
214 | * When the second lock is of type F_UNLCK, this acts like a wildcard. | 214 | * When the second lock is of type F_UNLCK, this acts like a wildcard. |
215 | */ | 215 | */ |
216 | static __inline__ int | 216 | static __inline__ int |
217 | nlm_compare_locks(struct file_lock *fl1, struct file_lock *fl2) | 217 | nlm_compare_locks(const struct file_lock *fl1, const struct file_lock *fl2) |
218 | { | 218 | { |
219 | return fl1->fl_pid == fl2->fl_pid | 219 | return fl1->fl_pid == fl2->fl_pid |
220 | && fl1->fl_start == fl2->fl_start | 220 | && fl1->fl_start == fl2->fl_start |
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h index 01f03bc06eff..968b1aa3732c 100644 --- a/include/linux/memory_hotplug.h +++ b/include/linux/memory_hotplug.h | |||
@@ -6,6 +6,10 @@ | |||
6 | #include <linux/mmzone.h> | 6 | #include <linux/mmzone.h> |
7 | #include <linux/notifier.h> | 7 | #include <linux/notifier.h> |
8 | 8 | ||
9 | struct page; | ||
10 | struct zone; | ||
11 | struct pglist_data; | ||
12 | |||
9 | #ifdef CONFIG_MEMORY_HOTPLUG | 13 | #ifdef CONFIG_MEMORY_HOTPLUG |
10 | /* | 14 | /* |
11 | * pgdat resizing functions | 15 | * pgdat resizing functions |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 85854b867463..498ff8778fb6 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -303,7 +303,7 @@ struct page { | |||
303 | */ | 303 | */ |
304 | #define put_page_testzero(p) \ | 304 | #define put_page_testzero(p) \ |
305 | ({ \ | 305 | ({ \ |
306 | BUG_ON(page_count(p) == 0); \ | 306 | BUG_ON(atomic_read(&(p)->_count) == -1);\ |
307 | atomic_add_negative(-1, &(p)->_count); \ | 307 | atomic_add_negative(-1, &(p)->_count); \ |
308 | }) | 308 | }) |
309 | 309 | ||
@@ -1051,5 +1051,11 @@ int shrink_slab(unsigned long scanned, gfp_t gfp_mask, | |||
1051 | void drop_pagecache(void); | 1051 | void drop_pagecache(void); |
1052 | void drop_slab(void); | 1052 | void drop_slab(void); |
1053 | 1053 | ||
1054 | #ifndef CONFIG_MMU | ||
1055 | #define randomize_va_space 0 | ||
1056 | #else | ||
1057 | extern int randomize_va_space; | ||
1058 | #endif | ||
1059 | |||
1054 | #endif /* __KERNEL__ */ | 1060 | #endif /* __KERNEL__ */ |
1055 | #endif /* _LINUX_MM_H */ | 1061 | #endif /* _LINUX_MM_H */ |
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index ccd3e13de1e8..bdc556d88498 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h | |||
@@ -21,24 +21,35 @@ struct mmc_command { | |||
21 | u32 arg; | 21 | u32 arg; |
22 | u32 resp[4]; | 22 | u32 resp[4]; |
23 | unsigned int flags; /* expected response type */ | 23 | unsigned int flags; /* expected response type */ |
24 | #define MMC_RSP_NONE (0 << 0) | 24 | #define MMC_RSP_PRESENT (1 << 0) |
25 | #define MMC_RSP_SHORT (1 << 0) | 25 | #define MMC_RSP_136 (1 << 1) /* 136 bit response */ |
26 | #define MMC_RSP_LONG (2 << 0) | 26 | #define MMC_RSP_CRC (1 << 2) /* expect valid crc */ |
27 | #define MMC_RSP_MASK (3 << 0) | 27 | #define MMC_RSP_BUSY (1 << 3) /* card may send busy */ |
28 | #define MMC_RSP_CRC (1 << 3) /* expect valid crc */ | 28 | #define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */ |
29 | #define MMC_RSP_BUSY (1 << 4) /* card may send busy */ | 29 | #define MMC_CMD_MASK (3 << 5) /* command type */ |
30 | #define MMC_RSP_OPCODE (1 << 5) /* response contains opcode */ | 30 | #define MMC_CMD_AC (0 << 5) |
31 | #define MMC_CMD_ADTC (1 << 5) | ||
32 | #define MMC_CMD_BC (2 << 5) | ||
33 | #define MMC_CMD_BCR (3 << 5) | ||
31 | 34 | ||
32 | /* | 35 | /* |
33 | * These are the response types, and correspond to valid bit | 36 | * These are the response types, and correspond to valid bit |
34 | * patterns of the above flags. One additional valid pattern | 37 | * patterns of the above flags. One additional valid pattern |
35 | * is all zeros, which means we don't expect a response. | 38 | * is all zeros, which means we don't expect a response. |
36 | */ | 39 | */ |
37 | #define MMC_RSP_R1 (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE) | 40 | #define MMC_RSP_NONE (0) |
38 | #define MMC_RSP_R1B (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) | 41 | #define MMC_RSP_R1 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE) |
39 | #define MMC_RSP_R2 (MMC_RSP_LONG|MMC_RSP_CRC) | 42 | #define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY) |
40 | #define MMC_RSP_R3 (MMC_RSP_SHORT) | 43 | #define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC) |
41 | #define MMC_RSP_R6 (MMC_RSP_SHORT|MMC_RSP_CRC) | 44 | #define MMC_RSP_R3 (MMC_RSP_PRESENT) |
45 | #define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC) | ||
46 | |||
47 | #define mmc_resp_type(cmd) ((cmd)->flags & (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE)) | ||
48 | |||
49 | /* | ||
50 | * These are the command types. | ||
51 | */ | ||
52 | #define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK) | ||
42 | 53 | ||
43 | unsigned int retries; /* max number of retries */ | 54 | unsigned int retries; /* max number of retries */ |
44 | unsigned int error; /* command error */ | 55 | unsigned int error; /* command error */ |
diff --git a/include/linux/mmc/protocol.h b/include/linux/mmc/protocol.h index a14dc306545b..81c3f77f652c 100644 --- a/include/linux/mmc/protocol.h +++ b/include/linux/mmc/protocol.h | |||
@@ -79,7 +79,7 @@ | |||
79 | /* SD commands type argument response */ | 79 | /* SD commands type argument response */ |
80 | /* class 8 */ | 80 | /* class 8 */ |
81 | /* This is basically the same command as for MMC with some quirks. */ | 81 | /* This is basically the same command as for MMC with some quirks. */ |
82 | #define SD_SEND_RELATIVE_ADDR 3 /* ac R6 */ | 82 | #define SD_SEND_RELATIVE_ADDR 3 /* bcr R6 */ |
83 | 83 | ||
84 | /* Application commands */ | 84 | /* Application commands */ |
85 | #define SD_APP_SET_BUS_WIDTH 6 /* ac [1:0] bus width R1 */ | 85 | #define SD_APP_SET_BUS_WIDTH 6 /* ac [1:0] bus width R1 */ |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 93a849f742db..ebfc238cc243 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -91,10 +91,21 @@ struct per_cpu_pageset { | |||
91 | * be 8 (2 ** 3) zonelists. GFP_ZONETYPES defines the number of possible | 91 | * be 8 (2 ** 3) zonelists. GFP_ZONETYPES defines the number of possible |
92 | * combinations of zone modifiers in "zone modifier space". | 92 | * combinations of zone modifiers in "zone modifier space". |
93 | * | 93 | * |
94 | * As an optimisation any zone modifier bits which are only valid when | ||
95 | * no other zone modifier bits are set (loners) should be placed in | ||
96 | * the highest order bits of this field. This allows us to reduce the | ||
97 | * extent of the zonelists thus saving space. For example in the case | ||
98 | * of three zone modifier bits, we could require up to eight zonelists. | ||
99 | * If the left most zone modifier is a "loner" then the highest valid | ||
100 | * zonelist would be four allowing us to allocate only five zonelists. | ||
101 | * Use the first form for GFP_ZONETYPES when the left most bit is not | ||
102 | * a "loner", otherwise use the second. | ||
103 | * | ||
94 | * NOTE! Make sure this matches the zones in <linux/gfp.h> | 104 | * NOTE! Make sure this matches the zones in <linux/gfp.h> |
95 | */ | 105 | */ |
96 | #define GFP_ZONEMASK 0x07 | 106 | #define GFP_ZONEMASK 0x07 |
97 | #define GFP_ZONETYPES 5 | 107 | /* #define GFP_ZONETYPES (GFP_ZONEMASK + 1) */ /* Non-loner */ |
108 | #define GFP_ZONETYPES ((GFP_ZONEMASK + 1) / 2 + 1) /* Loner */ | ||
98 | 109 | ||
99 | /* | 110 | /* |
100 | * On machines where it is needed (eg PCs) we divide physical memory | 111 | * On machines where it is needed (eg PCs) we divide physical memory |
diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h index fedfbc8a287f..7dfd6e1fcde7 100644 --- a/include/linux/mtd/map.h +++ b/include/linux/mtd/map.h | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <asm/unaligned.h> | 15 | #include <asm/unaligned.h> |
16 | #include <asm/system.h> | 16 | #include <asm/system.h> |
17 | #include <asm/io.h> | 17 | #include <asm/io.h> |
18 | #include <asm/bug.h> | ||
19 | 18 | ||
20 | #ifdef CONFIG_MTD_MAP_BANK_WIDTH_1 | 19 | #ifdef CONFIG_MTD_MAP_BANK_WIDTH_1 |
21 | #define map_bankwidth(map) 1 | 20 | #define map_bankwidth(map) 1 |
diff --git a/include/linux/namespace.h b/include/linux/namespace.h index 6731977c4c13..3abc8e3b4879 100644 --- a/include/linux/namespace.h +++ b/include/linux/namespace.h | |||
@@ -15,6 +15,7 @@ struct namespace { | |||
15 | 15 | ||
16 | extern int copy_namespace(int, struct task_struct *); | 16 | extern int copy_namespace(int, struct task_struct *); |
17 | extern void __put_namespace(struct namespace *namespace); | 17 | extern void __put_namespace(struct namespace *namespace); |
18 | extern struct namespace *dup_namespace(struct task_struct *, struct fs_struct *); | ||
18 | 19 | ||
19 | static inline void put_namespace(struct namespace *namespace) | 20 | static inline void put_namespace(struct namespace *namespace) |
20 | { | 21 | { |
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 4cf6088625c1..468896939843 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
@@ -184,8 +184,11 @@ static inline int nf_hook_thresh(int pf, unsigned int hook, | |||
184 | struct sk_buff **pskb, | 184 | struct sk_buff **pskb, |
185 | struct net_device *indev, | 185 | struct net_device *indev, |
186 | struct net_device *outdev, | 186 | struct net_device *outdev, |
187 | int (*okfn)(struct sk_buff *), int thresh) | 187 | int (*okfn)(struct sk_buff *), int thresh, |
188 | int cond) | ||
188 | { | 189 | { |
190 | if (!cond) | ||
191 | return 1; | ||
189 | #ifndef CONFIG_NETFILTER_DEBUG | 192 | #ifndef CONFIG_NETFILTER_DEBUG |
190 | if (list_empty(&nf_hooks[pf][hook])) | 193 | if (list_empty(&nf_hooks[pf][hook])) |
191 | return 1; | 194 | return 1; |
@@ -197,7 +200,7 @@ static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb, | |||
197 | struct net_device *indev, struct net_device *outdev, | 200 | struct net_device *indev, struct net_device *outdev, |
198 | int (*okfn)(struct sk_buff *)) | 201 | int (*okfn)(struct sk_buff *)) |
199 | { | 202 | { |
200 | return nf_hook_thresh(pf, hook, pskb, indev, outdev, okfn, INT_MIN); | 203 | return nf_hook_thresh(pf, hook, pskb, indev, outdev, okfn, INT_MIN, 1); |
201 | } | 204 | } |
202 | 205 | ||
203 | /* Activate hook; either okfn or kfree_skb called, unless a hook | 206 | /* Activate hook; either okfn or kfree_skb called, unless a hook |
@@ -224,7 +227,13 @@ static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb, | |||
224 | 227 | ||
225 | #define NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, thresh) \ | 228 | #define NF_HOOK_THRESH(pf, hook, skb, indev, outdev, okfn, thresh) \ |
226 | ({int __ret; \ | 229 | ({int __ret; \ |
227 | if ((__ret=nf_hook_thresh(pf, hook, &(skb), indev, outdev, okfn, thresh)) == 1)\ | 230 | if ((__ret=nf_hook_thresh(pf, hook, &(skb), indev, outdev, okfn, thresh, 1)) == 1)\ |
231 | __ret = (okfn)(skb); \ | ||
232 | __ret;}) | ||
233 | |||
234 | #define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) \ | ||
235 | ({int __ret; \ | ||
236 | if ((__ret=nf_hook_thresh(pf, hook, &(skb), indev, outdev, okfn, INT_MIN, cond)) == 1)\ | ||
228 | __ret = (okfn)(skb); \ | 237 | __ret = (okfn)(skb); \ |
229 | __ret;}) | 238 | __ret;}) |
230 | 239 | ||
@@ -295,11 +304,13 @@ extern struct proc_dir_entry *proc_net_netfilter; | |||
295 | 304 | ||
296 | #else /* !CONFIG_NETFILTER */ | 305 | #else /* !CONFIG_NETFILTER */ |
297 | #define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (okfn)(skb) | 306 | #define NF_HOOK(pf, hook, skb, indev, outdev, okfn) (okfn)(skb) |
307 | #define NF_HOOK_COND(pf, hook, skb, indev, outdev, okfn, cond) (okfn)(skb) | ||
298 | static inline int nf_hook_thresh(int pf, unsigned int hook, | 308 | static inline int nf_hook_thresh(int pf, unsigned int hook, |
299 | struct sk_buff **pskb, | 309 | struct sk_buff **pskb, |
300 | struct net_device *indev, | 310 | struct net_device *indev, |
301 | struct net_device *outdev, | 311 | struct net_device *outdev, |
302 | int (*okfn)(struct sk_buff *), int thresh) | 312 | int (*okfn)(struct sk_buff *), int thresh, |
313 | int cond) | ||
303 | { | 314 | { |
304 | return okfn(*pskb); | 315 | return okfn(*pskb); |
305 | } | 316 | } |
@@ -307,7 +318,7 @@ static inline int nf_hook(int pf, unsigned int hook, struct sk_buff **pskb, | |||
307 | struct net_device *indev, struct net_device *outdev, | 318 | struct net_device *indev, struct net_device *outdev, |
308 | int (*okfn)(struct sk_buff *)) | 319 | int (*okfn)(struct sk_buff *)) |
309 | { | 320 | { |
310 | return okfn(*pskb); | 321 | return 1; |
311 | } | 322 | } |
312 | static inline void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb) {} | 323 | static inline void nf_ct_attach(struct sk_buff *new, struct sk_buff *skb) {} |
313 | struct flowi; | 324 | struct flowi; |
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 59ff6c430cf6..6500d4e59d46 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
@@ -19,7 +19,21 @@ struct xt_get_revision | |||
19 | /* For standard target */ | 19 | /* For standard target */ |
20 | #define XT_RETURN (-NF_REPEAT - 1) | 20 | #define XT_RETURN (-NF_REPEAT - 1) |
21 | 21 | ||
22 | #define XT_ALIGN(s) (((s) + (__alignof__(u_int64_t)-1)) & ~(__alignof__(u_int64_t)-1)) | 22 | /* this is a dummy structure to find out the alignment requirement for a struct |
23 | * containing all the fundamental data types that are used in ipt_entry, | ||
24 | * ip6t_entry and arpt_entry. This sucks, and it is a hack. It will be my | ||
25 | * personal pleasure to remove it -HW | ||
26 | */ | ||
27 | struct _xt_align | ||
28 | { | ||
29 | u_int8_t u8; | ||
30 | u_int16_t u16; | ||
31 | u_int32_t u32; | ||
32 | u_int64_t u64; | ||
33 | }; | ||
34 | |||
35 | #define XT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1)) \ | ||
36 | & ~(__alignof__(struct _xt_align)-1)) | ||
23 | 37 | ||
24 | /* Standard return verdict, or do jump. */ | 38 | /* Standard return verdict, or do jump. */ |
25 | #define XT_STANDARD_TARGET "" | 39 | #define XT_STANDARD_TARGET "" |
diff --git a/include/linux/netfilter_bridge/ebt_log.h b/include/linux/netfilter_bridge/ebt_log.h index 358fbc84fb59..96e231ae7554 100644 --- a/include/linux/netfilter_bridge/ebt_log.h +++ b/include/linux/netfilter_bridge/ebt_log.h | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #define EBT_LOG_IP 0x01 /* if the frame is made by ip, log the ip information */ | 4 | #define EBT_LOG_IP 0x01 /* if the frame is made by ip, log the ip information */ |
5 | #define EBT_LOG_ARP 0x02 | 5 | #define EBT_LOG_ARP 0x02 |
6 | #define EBT_LOG_NFLOG 0x04 | ||
6 | #define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP) | 7 | #define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP) |
7 | #define EBT_LOG_PREFIX_SIZE 30 | 8 | #define EBT_LOG_PREFIX_SIZE 30 |
8 | #define EBT_LOG_WATCHER "log" | 9 | #define EBT_LOG_WATCHER "log" |
diff --git a/include/linux/netfilter_ipv4.h b/include/linux/netfilter_ipv4.h index fdc4a9527343..43c09d790b83 100644 --- a/include/linux/netfilter_ipv4.h +++ b/include/linux/netfilter_ipv4.h | |||
@@ -79,7 +79,7 @@ enum nf_ip_hook_priorities { | |||
79 | 79 | ||
80 | #ifdef __KERNEL__ | 80 | #ifdef __KERNEL__ |
81 | extern int ip_route_me_harder(struct sk_buff **pskb); | 81 | extern int ip_route_me_harder(struct sk_buff **pskb); |
82 | 82 | extern int ip_xfrm_me_harder(struct sk_buff **pskb); | |
83 | #endif /*__KERNEL__*/ | 83 | #endif /*__KERNEL__*/ |
84 | 84 | ||
85 | #endif /*__LINUX_IP_NETFILTER_H*/ | 85 | #endif /*__LINUX_IP_NETFILTER_H*/ |
diff --git a/include/linux/netfilter_ipv4/ipt_LOG.h b/include/linux/netfilter_ipv4/ipt_LOG.h index 22d16177319b..892f9a33fea8 100644 --- a/include/linux/netfilter_ipv4/ipt_LOG.h +++ b/include/linux/netfilter_ipv4/ipt_LOG.h | |||
@@ -6,7 +6,8 @@ | |||
6 | #define IPT_LOG_TCPOPT 0x02 /* Log TCP options */ | 6 | #define IPT_LOG_TCPOPT 0x02 /* Log TCP options */ |
7 | #define IPT_LOG_IPOPT 0x04 /* Log IP options */ | 7 | #define IPT_LOG_IPOPT 0x04 /* Log IP options */ |
8 | #define IPT_LOG_UID 0x08 /* Log UID owning local socket */ | 8 | #define IPT_LOG_UID 0x08 /* Log UID owning local socket */ |
9 | #define IPT_LOG_MASK 0x0f | 9 | #define IPT_LOG_NFLOG 0x10 /* Log using nf_log backend */ |
10 | #define IPT_LOG_MASK 0x1f | ||
10 | 11 | ||
11 | struct ipt_log_info { | 12 | struct ipt_log_info { |
12 | unsigned char level; | 13 | unsigned char level; |
diff --git a/include/linux/netfilter_ipv4/ipt_connbytes.h b/include/linux/netfilter_ipv4/ipt_connbytes.h index b04dfa3083c9..f63e6ee91113 100644 --- a/include/linux/netfilter_ipv4/ipt_connbytes.h +++ b/include/linux/netfilter_ipv4/ipt_connbytes.h | |||
@@ -1,10 +1,10 @@ | |||
1 | #ifndef _IPT_CONNBYTES_H | 1 | #ifndef _IPT_CONNBYTES_H |
2 | #define _IPT_CONNBYTES_H | 2 | #define _IPT_CONNBYTES_H |
3 | 3 | ||
4 | #include <net/netfilter/xt_connbytes.h> | 4 | #include <linux/netfilter/xt_connbytes.h> |
5 | #define ipt_connbytes_what xt_connbytes_what | 5 | #define ipt_connbytes_what xt_connbytes_what |
6 | 6 | ||
7 | #define IPT_CONNBYTES_PKTS XT_CONNBYTES_PACKETS | 7 | #define IPT_CONNBYTES_PKTS XT_CONNBYTES_PKTS |
8 | #define IPT_CONNBYTES_BYTES XT_CONNBYTES_BYTES | 8 | #define IPT_CONNBYTES_BYTES XT_CONNBYTES_BYTES |
9 | #define IPT_CONNBYTES_AVGPKT XT_CONNBYTES_AVGPKT | 9 | #define IPT_CONNBYTES_AVGPKT XT_CONNBYTES_AVGPKT |
10 | 10 | ||
diff --git a/include/linux/netfilter_ipv4/ipt_policy.h b/include/linux/netfilter_ipv4/ipt_policy.h index 7fd1bec453f1..a3f6eff39d33 100644 --- a/include/linux/netfilter_ipv4/ipt_policy.h +++ b/include/linux/netfilter_ipv4/ipt_policy.h | |||
@@ -27,16 +27,22 @@ struct ipt_policy_spec | |||
27 | reqid:1; | 27 | reqid:1; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | union ipt_policy_addr | ||
31 | { | ||
32 | struct in_addr a4; | ||
33 | struct in6_addr a6; | ||
34 | }; | ||
35 | |||
30 | struct ipt_policy_elem | 36 | struct ipt_policy_elem |
31 | { | 37 | { |
32 | u_int32_t saddr; | 38 | union ipt_policy_addr saddr; |
33 | u_int32_t smask; | 39 | union ipt_policy_addr smask; |
34 | u_int32_t daddr; | 40 | union ipt_policy_addr daddr; |
35 | u_int32_t dmask; | 41 | union ipt_policy_addr dmask; |
36 | u_int32_t spi; | 42 | u_int32_t spi; |
37 | u_int32_t reqid; | 43 | u_int32_t reqid; |
38 | u_int8_t proto; | 44 | u_int8_t proto; |
39 | u_int8_t mode; | 45 | u_int8_t mode; |
40 | 46 | ||
41 | struct ipt_policy_spec match; | 47 | struct ipt_policy_spec match; |
42 | struct ipt_policy_spec invert; | 48 | struct ipt_policy_spec invert; |
diff --git a/include/linux/netfilter_ipv6/ip6t_LOG.h b/include/linux/netfilter_ipv6/ip6t_LOG.h index 9008ff5c40ae..060c1a1c6c60 100644 --- a/include/linux/netfilter_ipv6/ip6t_LOG.h +++ b/include/linux/netfilter_ipv6/ip6t_LOG.h | |||
@@ -6,7 +6,8 @@ | |||
6 | #define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */ | 6 | #define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */ |
7 | #define IP6T_LOG_IPOPT 0x04 /* Log IP options */ | 7 | #define IP6T_LOG_IPOPT 0x04 /* Log IP options */ |
8 | #define IP6T_LOG_UID 0x08 /* Log UID owning local socket */ | 8 | #define IP6T_LOG_UID 0x08 /* Log UID owning local socket */ |
9 | #define IP6T_LOG_MASK 0x0f | 9 | #define IP6T_LOG_NFLOG 0x10 /* Log using nf_log backend */ |
10 | #define IP6T_LOG_MASK 0x1f | ||
10 | 11 | ||
11 | struct ip6t_log_info { | 12 | struct ip6t_log_info { |
12 | unsigned char level; | 13 | unsigned char level; |
diff --git a/include/linux/netfilter_ipv6/ip6t_policy.h b/include/linux/netfilter_ipv6/ip6t_policy.h index 5a93afcd2ff1..671bd818300f 100644 --- a/include/linux/netfilter_ipv6/ip6t_policy.h +++ b/include/linux/netfilter_ipv6/ip6t_policy.h | |||
@@ -27,16 +27,22 @@ struct ip6t_policy_spec | |||
27 | reqid:1; | 27 | reqid:1; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | union ip6t_policy_addr | ||
31 | { | ||
32 | struct in_addr a4; | ||
33 | struct in6_addr a6; | ||
34 | }; | ||
35 | |||
30 | struct ip6t_policy_elem | 36 | struct ip6t_policy_elem |
31 | { | 37 | { |
32 | struct in6_addr saddr; | 38 | union ip6t_policy_addr saddr; |
33 | struct in6_addr smask; | 39 | union ip6t_policy_addr smask; |
34 | struct in6_addr daddr; | 40 | union ip6t_policy_addr daddr; |
35 | struct in6_addr dmask; | 41 | union ip6t_policy_addr dmask; |
36 | u_int32_t spi; | 42 | u_int32_t spi; |
37 | u_int32_t reqid; | 43 | u_int32_t reqid; |
38 | u_int8_t proto; | 44 | u_int8_t proto; |
39 | u_int8_t mode; | 45 | u_int8_t mode; |
40 | 46 | ||
41 | struct ip6t_policy_spec match; | 47 | struct ip6t_policy_spec match; |
42 | struct ip6t_policy_spec invert; | 48 | struct ip6t_policy_spec invert; |
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 6a2ccf78a356..c256ebe2a7b4 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h | |||
@@ -160,7 +160,8 @@ extern int netlink_unregister_notifier(struct notifier_block *nb); | |||
160 | 160 | ||
161 | /* finegrained unicast helpers: */ | 161 | /* finegrained unicast helpers: */ |
162 | struct sock *netlink_getsockbyfilp(struct file *filp); | 162 | struct sock *netlink_getsockbyfilp(struct file *filp); |
163 | int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, long timeo); | 163 | int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, |
164 | long timeo, struct sock *ssk); | ||
164 | void netlink_detachskb(struct sock *sk, struct sk_buff *skb); | 165 | void netlink_detachskb(struct sock *sk, struct sk_buff *skb); |
165 | int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol); | 166 | int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol); |
166 | 167 | ||
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 547d649b274e..b4dc6e2e10c9 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -398,7 +398,7 @@ extern struct inode_operations nfs_symlink_inode_operations; | |||
398 | extern int nfs_register_sysctl(void); | 398 | extern int nfs_register_sysctl(void); |
399 | extern void nfs_unregister_sysctl(void); | 399 | extern void nfs_unregister_sysctl(void); |
400 | #else | 400 | #else |
401 | #define nfs_register_sysctl() do { } while(0) | 401 | #define nfs_register_sysctl() 0 |
402 | #define nfs_unregister_sysctl() do { } while(0) | 402 | #define nfs_unregister_sysctl() do { } while(0) |
403 | #endif | 403 | #endif |
404 | 404 | ||
diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h index 4726ef7ba8e8..b959a4525cbd 100644 --- a/include/linux/nodemask.h +++ b/include/linux/nodemask.h | |||
@@ -84,7 +84,6 @@ | |||
84 | #include <linux/threads.h> | 84 | #include <linux/threads.h> |
85 | #include <linux/bitmap.h> | 85 | #include <linux/bitmap.h> |
86 | #include <linux/numa.h> | 86 | #include <linux/numa.h> |
87 | #include <asm/bug.h> | ||
88 | 87 | ||
89 | typedef struct { DECLARE_BITMAP(bits, MAX_NUMNODES); } nodemask_t; | 88 | typedef struct { DECLARE_BITMAP(bits, MAX_NUMNODES); } nodemask_t; |
90 | extern nodemask_t _unused_nodemask_arg_; | 89 | extern nodemask_t _unused_nodemask_arg_; |
diff --git a/include/linux/parport.h b/include/linux/parport.h index f67f838a3a1f..008d736a6c9a 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h | |||
@@ -128,6 +128,11 @@ struct amiga_parport_state { | |||
128 | unsigned char statusdir;/* ciab.ddrb & 7 */ | 128 | unsigned char statusdir;/* ciab.ddrb & 7 */ |
129 | }; | 129 | }; |
130 | 130 | ||
131 | struct ip32_parport_state { | ||
132 | unsigned int dcr; | ||
133 | unsigned int ecr; | ||
134 | }; | ||
135 | |||
131 | struct parport_state { | 136 | struct parport_state { |
132 | union { | 137 | union { |
133 | struct pc_parport_state pc; | 138 | struct pc_parport_state pc; |
@@ -135,6 +140,7 @@ struct parport_state { | |||
135 | struct ax_parport_state ax; | 140 | struct ax_parport_state ax; |
136 | struct amiga_parport_state amiga; | 141 | struct amiga_parport_state amiga; |
137 | /* Atari has not state. */ | 142 | /* Atari has not state. */ |
143 | struct ip32_parport_state ip32; | ||
138 | void *misc; | 144 | void *misc; |
139 | } u; | 145 | } u; |
140 | }; | 146 | }; |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 0a44072383ec..fe1a2b02fc55 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -406,7 +406,6 @@ struct pci_dev *pci_find_device_reverse (unsigned int vendor, unsigned int devic | |||
406 | struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); | 406 | struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); |
407 | int pci_find_capability (struct pci_dev *dev, int cap); | 407 | int pci_find_capability (struct pci_dev *dev, int cap); |
408 | int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); | 408 | int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); |
409 | int pci_find_ext_capability (struct pci_dev *dev, int cap); | ||
410 | struct pci_bus * pci_find_next_bus(const struct pci_bus *from); | 409 | struct pci_bus * pci_find_next_bus(const struct pci_bus *from); |
411 | 410 | ||
412 | struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from); | 411 | struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from); |
@@ -626,7 +625,6 @@ static inline int pci_register_driver(struct pci_driver *drv) { return 0;} | |||
626 | static inline void pci_unregister_driver(struct pci_driver *drv) { } | 625 | static inline void pci_unregister_driver(struct pci_driver *drv) { } |
627 | static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } | 626 | static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } |
628 | static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } | 627 | static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } |
629 | static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; } | ||
630 | static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } | 628 | static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } |
631 | 629 | ||
632 | /* Power management related routines */ | 630 | /* Power management related routines */ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index ecc1fc1f0f04..751eea58bde8 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -394,14 +394,9 @@ | |||
394 | #define PCI_DEVICE_ID_NS_SC1100_SMI 0x0511 | 394 | #define PCI_DEVICE_ID_NS_SC1100_SMI 0x0511 |
395 | #define PCI_DEVICE_ID_NS_SC1100_XBUS 0x0515 | 395 | #define PCI_DEVICE_ID_NS_SC1100_XBUS 0x0515 |
396 | #define PCI_DEVICE_ID_NS_87410 0xd001 | 396 | #define PCI_DEVICE_ID_NS_87410 0xd001 |
397 | #define PCI_DEVICE_ID_NS_CS5535_IDE 0x002d | ||
398 | 397 | ||
399 | #define PCI_DEVICE_ID_NS_CS5535_HOST_BRIDGE 0x0028 | 398 | #define PCI_DEVICE_ID_NS_CS5535_HOST_BRIDGE 0x0028 |
400 | #define PCI_DEVICE_ID_NS_CS5535_ISA_BRIDGE 0x002b | 399 | #define PCI_DEVICE_ID_NS_CS5535_ISA_BRIDGE 0x002b |
401 | #define PCI_DEVICE_ID_NS_CS5535_IDE 0x002d | ||
402 | #define PCI_DEVICE_ID_NS_CS5535_AUDIO 0x002e | ||
403 | #define PCI_DEVICE_ID_NS_CS5535_USB 0x002f | ||
404 | #define PCI_DEVICE_ID_NS_CS5535_VIDEO 0x0030 | ||
405 | 400 | ||
406 | #define PCI_VENDOR_ID_TSENG 0x100c | 401 | #define PCI_VENDOR_ID_TSENG 0x100c |
407 | #define PCI_DEVICE_ID_TSENG_W32P_2 0x3202 | 402 | #define PCI_DEVICE_ID_TSENG_W32P_2 0x3202 |
@@ -511,8 +506,6 @@ | |||
511 | #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 | 506 | #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 |
512 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A | 507 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A |
513 | 508 | ||
514 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A | ||
515 | |||
516 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 | 509 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 |
517 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 | 510 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 |
518 | 511 | ||
@@ -1094,6 +1087,7 @@ | |||
1094 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440_8X 0x0181 | 1087 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440_8X 0x0181 |
1095 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440SE_8X 0x0182 | 1088 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440SE_8X 0x0182 |
1096 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420_8X 0x0183 | 1089 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420_8X 0x0183 |
1090 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_4000 0x0185 | ||
1097 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_448_GO 0x0186 | 1091 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_448_GO 0x0186 |
1098 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_488_GO 0x0187 | 1092 | #define PCI_DEVICE_ID_NVIDIA_GEFORCE4_488_GO 0x0187 |
1099 | #define PCI_DEVICE_ID_NVIDIA_QUADRO4_580_XGL 0x0188 | 1093 | #define PCI_DEVICE_ID_NVIDIA_QUADRO4_580_XGL 0x0188 |
@@ -1371,6 +1365,7 @@ | |||
1371 | #define PCI_DEVICE_ID_SERVERWORKS_HE 0x0008 | 1365 | #define PCI_DEVICE_ID_SERVERWORKS_HE 0x0008 |
1372 | #define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 | 1366 | #define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 |
1373 | #define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 0x0017 | 1367 | #define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 0x0017 |
1368 | #define PCI_DEVICE_ID_SERVERWORKS_EPB 0x0103 | ||
1374 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 | 1369 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 |
1375 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 | 1370 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 |
1376 | #define PCI_DEVICE_ID_SERVERWORKS_CSB6 0x0203 | 1371 | #define PCI_DEVICE_ID_SERVERWORKS_CSB6 0x0203 |
@@ -1677,6 +1672,9 @@ | |||
1677 | #define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060 | 1672 | #define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060 |
1678 | #define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061 | 1673 | #define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061 |
1679 | #define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062 | 1674 | #define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062 |
1675 | #define PCI_DEVICE_ID_SIIG_8S_20x_550 0x2080 | ||
1676 | #define PCI_DEVICE_ID_SIIG_8S_20x_650 0x2081 | ||
1677 | #define PCI_DEVICE_ID_SIIG_8S_20x_850 0x2082 | ||
1680 | #define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050 | 1678 | #define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050 |
1681 | 1679 | ||
1682 | #define PCI_VENDOR_ID_RADISYS 0x1331 | 1680 | #define PCI_VENDOR_ID_RADISYS 0x1331 |
@@ -1755,6 +1753,8 @@ | |||
1755 | #define PCI_DEVICE_ID_CCD_B00B 0xb00b | 1753 | #define PCI_DEVICE_ID_CCD_B00B 0xb00b |
1756 | #define PCI_DEVICE_ID_CCD_B00C 0xb00c | 1754 | #define PCI_DEVICE_ID_CCD_B00C 0xb00c |
1757 | #define PCI_DEVICE_ID_CCD_B100 0xb100 | 1755 | #define PCI_DEVICE_ID_CCD_B100 0xb100 |
1756 | #define PCI_DEVICE_ID_CCD_B700 0xb700 | ||
1757 | #define PCI_DEVICE_ID_CCD_B701 0xb701 | ||
1758 | 1758 | ||
1759 | #define PCI_VENDOR_ID_EXAR 0x13a8 | 1759 | #define PCI_VENDOR_ID_EXAR 0x13a8 |
1760 | #define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 | 1760 | #define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 |
@@ -1836,6 +1836,7 @@ | |||
1836 | #define PCI_VENDOR_ID_AFAVLAB 0x14db | 1836 | #define PCI_VENDOR_ID_AFAVLAB 0x14db |
1837 | #define PCI_DEVICE_ID_AFAVLAB_P028 0x2180 | 1837 | #define PCI_DEVICE_ID_AFAVLAB_P028 0x2180 |
1838 | #define PCI_DEVICE_ID_AFAVLAB_P030 0x2182 | 1838 | #define PCI_DEVICE_ID_AFAVLAB_P030 0x2182 |
1839 | #define PCI_SUBDEVICE_ID_AFAVLAB_P061 0x2150 | ||
1839 | 1840 | ||
1840 | #define PCI_VENDOR_ID_BROADCOM 0x14e4 | 1841 | #define PCI_VENDOR_ID_BROADCOM 0x14e4 |
1841 | #define PCI_DEVICE_ID_TIGON3_5752 0x1600 | 1842 | #define PCI_DEVICE_ID_TIGON3_5752 0x1600 |
@@ -2065,6 +2066,7 @@ | |||
2065 | #define PCI_DEVICE_ID_INTEL_82801EB_5 0x24d5 | 2066 | #define PCI_DEVICE_ID_INTEL_82801EB_5 0x24d5 |
2066 | #define PCI_DEVICE_ID_INTEL_82801EB_6 0x24d6 | 2067 | #define PCI_DEVICE_ID_INTEL_82801EB_6 0x24d6 |
2067 | #define PCI_DEVICE_ID_INTEL_82801EB_11 0x24db | 2068 | #define PCI_DEVICE_ID_INTEL_82801EB_11 0x24db |
2069 | #define PCI_DEVICE_ID_INTEL_82801EB_13 0x24dd | ||
2068 | #define PCI_DEVICE_ID_INTEL_ESB_1 0x25a1 | 2070 | #define PCI_DEVICE_ID_INTEL_ESB_1 0x25a1 |
2069 | #define PCI_DEVICE_ID_INTEL_ESB_2 0x25a2 | 2071 | #define PCI_DEVICE_ID_INTEL_ESB_2 0x25a2 |
2070 | #define PCI_DEVICE_ID_INTEL_ESB_4 0x25a4 | 2072 | #define PCI_DEVICE_ID_INTEL_ESB_4 0x25a4 |
@@ -2085,6 +2087,8 @@ | |||
2085 | #define PCI_DEVICE_ID_INTEL_82915GM_IG 0x2592 | 2087 | #define PCI_DEVICE_ID_INTEL_82915GM_IG 0x2592 |
2086 | #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 | 2088 | #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 |
2087 | #define PCI_DEVICE_ID_INTEL_82945G_IG 0x2772 | 2089 | #define PCI_DEVICE_ID_INTEL_82945G_IG 0x2772 |
2090 | #define PCI_DEVICE_ID_INTEL_82945GM_HB 0x27A0 | ||
2091 | #define PCI_DEVICE_ID_INTEL_82945GM_IG 0x27A2 | ||
2088 | #define PCI_DEVICE_ID_INTEL_ICH6_0 0x2640 | 2092 | #define PCI_DEVICE_ID_INTEL_ICH6_0 0x2640 |
2089 | #define PCI_DEVICE_ID_INTEL_ICH6_1 0x2641 | 2093 | #define PCI_DEVICE_ID_INTEL_ICH6_1 0x2641 |
2090 | #define PCI_DEVICE_ID_INTEL_ICH6_2 0x2642 | 2094 | #define PCI_DEVICE_ID_INTEL_ICH6_2 0x2642 |
@@ -2104,6 +2108,13 @@ | |||
2104 | #define PCI_DEVICE_ID_INTEL_ICH7_19 0x27dd | 2108 | #define PCI_DEVICE_ID_INTEL_ICH7_19 0x27dd |
2105 | #define PCI_DEVICE_ID_INTEL_ICH7_20 0x27de | 2109 | #define PCI_DEVICE_ID_INTEL_ICH7_20 0x27de |
2106 | #define PCI_DEVICE_ID_INTEL_ICH7_21 0x27df | 2110 | #define PCI_DEVICE_ID_INTEL_ICH7_21 0x27df |
2111 | #define PCI_DEVICE_ID_INTEL_ICH8_0 0x2810 | ||
2112 | #define PCI_DEVICE_ID_INTEL_ICH8_1 0x2811 | ||
2113 | #define PCI_DEVICE_ID_INTEL_ICH8_2 0x2812 | ||
2114 | #define PCI_DEVICE_ID_INTEL_ICH8_3 0x2814 | ||
2115 | #define PCI_DEVICE_ID_INTEL_ICH8_4 0x2815 | ||
2116 | #define PCI_DEVICE_ID_INTEL_ICH8_5 0x283e | ||
2117 | #define PCI_DEVICE_ID_INTEL_ICH8_6 0x2850 | ||
2107 | #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 | 2118 | #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 |
2108 | #define PCI_DEVICE_ID_INTEL_82830_HB 0x3575 | 2119 | #define PCI_DEVICE_ID_INTEL_82830_HB 0x3575 |
2109 | #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 | 2120 | #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 |
@@ -2147,6 +2158,7 @@ | |||
2147 | #define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2 | 2158 | #define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2 |
2148 | #define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601 | 2159 | #define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601 |
2149 | #define PCI_DEVICE_ID_INTEL_82454GX 0x84c4 | 2160 | #define PCI_DEVICE_ID_INTEL_82454GX 0x84c4 |
2161 | #define PCI_DEVICE_ID_INTEL_82450GX 0x84c5 | ||
2150 | #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca | 2162 | #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca |
2151 | #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb | 2163 | #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb |
2152 | #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea | 2164 | #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea |
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h index bd6708e2c027..682525511c9e 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h | |||
@@ -39,6 +39,7 @@ static inline void percpu_counter_destroy(struct percpu_counter *fbc) | |||
39 | } | 39 | } |
40 | 40 | ||
41 | void percpu_counter_mod(struct percpu_counter *fbc, long amount); | 41 | void percpu_counter_mod(struct percpu_counter *fbc, long amount); |
42 | long percpu_counter_sum(struct percpu_counter *fbc); | ||
42 | 43 | ||
43 | static inline long percpu_counter_read(struct percpu_counter *fbc) | 44 | static inline long percpu_counter_read(struct percpu_counter *fbc) |
44 | { | 45 | { |
@@ -92,6 +93,11 @@ static inline long percpu_counter_read_positive(struct percpu_counter *fbc) | |||
92 | return fbc->count; | 93 | return fbc->count; |
93 | } | 94 | } |
94 | 95 | ||
96 | static inline long percpu_counter_sum(struct percpu_counter *fbc) | ||
97 | { | ||
98 | return percpu_counter_read_positive(fbc); | ||
99 | } | ||
100 | |||
95 | #endif /* CONFIG_SMP */ | 101 | #endif /* CONFIG_SMP */ |
96 | 102 | ||
97 | static inline void percpu_counter_inc(struct percpu_counter *fbc) | 103 | static inline void percpu_counter_inc(struct percpu_counter *fbc) |
diff --git a/include/linux/pktcdvd.h b/include/linux/pktcdvd.h index 2c177e4c8f22..8a94c717c266 100644 --- a/include/linux/pktcdvd.h +++ b/include/linux/pktcdvd.h | |||
@@ -114,7 +114,7 @@ struct pkt_ctrl_command { | |||
114 | 114 | ||
115 | struct packet_settings | 115 | struct packet_settings |
116 | { | 116 | { |
117 | __u8 size; /* packet size in (512 byte) sectors */ | 117 | __u32 size; /* packet size in (512 byte) sectors */ |
118 | __u8 fp; /* fixed packets */ | 118 | __u8 fp; /* fixed packets */ |
119 | __u8 link_loss; /* the rest is specified | 119 | __u8 link_loss; /* the rest is specified |
120 | * as per Mt Fuji */ | 120 | * as per Mt Fuji */ |
@@ -169,8 +169,8 @@ struct packet_iosched | |||
169 | #if (PAGE_SIZE % CD_FRAMESIZE) != 0 | 169 | #if (PAGE_SIZE % CD_FRAMESIZE) != 0 |
170 | #error "PAGE_SIZE must be a multiple of CD_FRAMESIZE" | 170 | #error "PAGE_SIZE must be a multiple of CD_FRAMESIZE" |
171 | #endif | 171 | #endif |
172 | #define PACKET_MAX_SIZE 32 | 172 | #define PACKET_MAX_SIZE 128 |
173 | #define PAGES_PER_PACKET (PACKET_MAX_SIZE * CD_FRAMESIZE / PAGE_SIZE) | 173 | #define FRAMES_PER_PAGE (PAGE_SIZE / CD_FRAMESIZE) |
174 | #define PACKET_MAX_SECTORS (PACKET_MAX_SIZE * CD_FRAMESIZE >> 9) | 174 | #define PACKET_MAX_SECTORS (PACKET_MAX_SIZE * CD_FRAMESIZE >> 9) |
175 | 175 | ||
176 | enum packet_data_state { | 176 | enum packet_data_state { |
@@ -219,7 +219,7 @@ struct packet_data | |||
219 | atomic_t io_errors; /* Number of read/write errors during IO */ | 219 | atomic_t io_errors; /* Number of read/write errors during IO */ |
220 | 220 | ||
221 | struct bio *r_bios[PACKET_MAX_SIZE]; /* bios to use during data gathering */ | 221 | struct bio *r_bios[PACKET_MAX_SIZE]; /* bios to use during data gathering */ |
222 | struct page *pages[PAGES_PER_PACKET]; | 222 | struct page *pages[PACKET_MAX_SIZE / FRAMES_PER_PAGE]; |
223 | 223 | ||
224 | int cache_valid; /* If non-zero, the data for the zone defined */ | 224 | int cache_valid; /* If non-zero, the data for the zone defined */ |
225 | /* by the sector variable is completely cached */ | 225 | /* by the sector variable is completely cached */ |
diff --git a/include/linux/posix-timers.h b/include/linux/posix-timers.h index 54faf5236da0..95572c434bc9 100644 --- a/include/linux/posix-timers.h +++ b/include/linux/posix-timers.h | |||
@@ -84,7 +84,6 @@ struct k_clock { | |||
84 | void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock); | 84 | void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock); |
85 | 85 | ||
86 | /* error handlers for timer_create, nanosleep and settime */ | 86 | /* error handlers for timer_create, nanosleep and settime */ |
87 | int do_posix_clock_notimer_create(struct k_itimer *timer); | ||
88 | int do_posix_clock_nonanosleep(const clockid_t, int flags, struct timespec *, | 87 | int do_posix_clock_nonanosleep(const clockid_t, int flags, struct timespec *, |
89 | struct timespec __user *); | 88 | struct timespec __user *); |
90 | int do_posix_clock_nosettime(const clockid_t, struct timespec *tp); | 89 | int do_posix_clock_nosettime(const clockid_t, struct timespec *tp); |
diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h index 9d5cd106b344..0d36750fc0f1 100644 --- a/include/linux/ptrace.h +++ b/include/linux/ptrace.h | |||
@@ -84,6 +84,7 @@ extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __us | |||
84 | extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len); | 84 | extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len); |
85 | extern int ptrace_attach(struct task_struct *tsk); | 85 | extern int ptrace_attach(struct task_struct *tsk); |
86 | extern int ptrace_detach(struct task_struct *, unsigned int); | 86 | extern int ptrace_detach(struct task_struct *, unsigned int); |
87 | extern void __ptrace_detach(struct task_struct *, unsigned int); | ||
87 | extern void ptrace_disable(struct task_struct *); | 88 | extern void ptrace_disable(struct task_struct *); |
88 | extern int ptrace_check_attach(struct task_struct *task, int kill); | 89 | extern int ptrace_check_attach(struct task_struct *task, int kill); |
89 | extern int ptrace_request(struct task_struct *child, long request, long addr, long data); | 90 | extern int ptrace_request(struct task_struct *child, long request, long addr, long data); |
diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h index 4f34d3d60f2e..21e5a9124856 100644 --- a/include/linux/quotaops.h +++ b/include/linux/quotaops.h | |||
@@ -190,7 +190,6 @@ static __inline__ int DQUOT_OFF(struct super_block *sb) | |||
190 | */ | 190 | */ |
191 | #define sb_dquot_ops (NULL) | 191 | #define sb_dquot_ops (NULL) |
192 | #define sb_quotactl_ops (NULL) | 192 | #define sb_quotactl_ops (NULL) |
193 | #define sync_dquots_dev(dev,type) (NULL) | ||
194 | #define DQUOT_INIT(inode) do { } while(0) | 193 | #define DQUOT_INIT(inode) do { } while(0) |
195 | #define DQUOT_DROP(inode) do { } while(0) | 194 | #define DQUOT_DROP(inode) do { } while(0) |
196 | #define DQUOT_ALLOC_INODE(inode) (0) | 195 | #define DQUOT_ALLOC_INODE(inode) (0) |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 981f9aa43353..c2ec6c77874e 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -98,13 +98,17 @@ struct rcu_data { | |||
98 | long batch; /* Batch # for current RCU batch */ | 98 | long batch; /* Batch # for current RCU batch */ |
99 | struct rcu_head *nxtlist; | 99 | struct rcu_head *nxtlist; |
100 | struct rcu_head **nxttail; | 100 | struct rcu_head **nxttail; |
101 | long count; /* # of queued items */ | 101 | long qlen; /* # of queued callbacks */ |
102 | struct rcu_head *curlist; | 102 | struct rcu_head *curlist; |
103 | struct rcu_head **curtail; | 103 | struct rcu_head **curtail; |
104 | struct rcu_head *donelist; | 104 | struct rcu_head *donelist; |
105 | struct rcu_head **donetail; | 105 | struct rcu_head **donetail; |
106 | long blimit; /* Upper limit on a processed batch */ | ||
106 | int cpu; | 107 | int cpu; |
107 | struct rcu_head barrier; | 108 | struct rcu_head barrier; |
109 | #ifdef CONFIG_SMP | ||
110 | long last_rs_qlen; /* qlen during the last resched */ | ||
111 | #endif | ||
108 | }; | 112 | }; |
109 | 113 | ||
110 | DECLARE_PER_CPU(struct rcu_data, rcu_data); | 114 | DECLARE_PER_CPU(struct rcu_data, rcu_data); |
@@ -240,11 +244,14 @@ extern int rcu_pending(int cpu); | |||
240 | * This means that all preempt_disable code sequences, including NMI and | 244 | * This means that all preempt_disable code sequences, including NMI and |
241 | * hardware-interrupt handlers, in progress on entry will have completed | 245 | * hardware-interrupt handlers, in progress on entry will have completed |
242 | * before this primitive returns. However, this does not guarantee that | 246 | * before this primitive returns. However, this does not guarantee that |
243 | * softirq handlers will have completed, since in some kernels | 247 | * softirq handlers will have completed, since in some kernels, these |
248 | * handlers can run in process context, and can block. | ||
244 | * | 249 | * |
245 | * This primitive provides the guarantees made by the (deprecated) | 250 | * This primitive provides the guarantees made by the (deprecated) |
246 | * synchronize_kernel() API. In contrast, synchronize_rcu() only | 251 | * synchronize_kernel() API. In contrast, synchronize_rcu() only |
247 | * guarantees that rcu_read_lock() sections will have completed. | 252 | * guarantees that rcu_read_lock() sections will have completed. |
253 | * In "classic RCU", these two guarantees happen to be one and | ||
254 | * the same, but can differ in realtime RCU implementations. | ||
248 | */ | 255 | */ |
249 | #define synchronize_sched() synchronize_rcu() | 256 | #define synchronize_sched() synchronize_rcu() |
250 | 257 | ||
diff --git a/include/linux/reboot.h b/include/linux/reboot.h index 7ab2cdb83ef0..015297ff73fa 100644 --- a/include/linux/reboot.h +++ b/include/linux/reboot.h | |||
@@ -60,8 +60,7 @@ extern void machine_crash_shutdown(struct pt_regs *); | |||
60 | */ | 60 | */ |
61 | 61 | ||
62 | extern void kernel_restart_prepare(char *cmd); | 62 | extern void kernel_restart_prepare(char *cmd); |
63 | extern void kernel_halt_prepare(void); | 63 | extern void kernel_shutdown_prepare(enum system_states state); |
64 | extern void kernel_power_off_prepare(void); | ||
65 | 64 | ||
66 | extern void kernel_restart(char *cmd); | 65 | extern void kernel_restart(char *cmd); |
67 | extern void kernel_halt(void); | 66 | extern void kernel_halt(void); |
diff --git a/include/linux/reiserfs_acl.h b/include/linux/reiserfs_acl.h index 0a3605099c44..806ec5b06707 100644 --- a/include/linux/reiserfs_acl.h +++ b/include/linux/reiserfs_acl.h | |||
@@ -58,9 +58,13 @@ extern struct reiserfs_xattr_handler posix_acl_default_handler; | |||
58 | extern struct reiserfs_xattr_handler posix_acl_access_handler; | 58 | extern struct reiserfs_xattr_handler posix_acl_access_handler; |
59 | #else | 59 | #else |
60 | 60 | ||
61 | #define reiserfs_get_acl NULL | ||
62 | #define reiserfs_cache_default_acl(inode) 0 | 61 | #define reiserfs_cache_default_acl(inode) 0 |
63 | 62 | ||
63 | static inline struct posix_acl *reiserfs_get_acl(struct inode *inode, int type) | ||
64 | { | ||
65 | return NULL; | ||
66 | } | ||
67 | |||
64 | static inline int reiserfs_xattr_posix_acl_init(void) | 68 | static inline int reiserfs_xattr_posix_acl_init(void) |
65 | { | 69 | { |
66 | return 0; | 70 | return 0; |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index e276c5ba2bb7..dad78cecfd20 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
@@ -1052,7 +1052,7 @@ struct reiserfs_dir_entry { | |||
1052 | int de_entrylen; | 1052 | int de_entrylen; |
1053 | int de_namelen; | 1053 | int de_namelen; |
1054 | char *de_name; | 1054 | char *de_name; |
1055 | char *de_gen_number_bit_string; | 1055 | unsigned long *de_gen_number_bit_string; |
1056 | 1056 | ||
1057 | __u32 de_dir_id; | 1057 | __u32 de_dir_id; |
1058 | __u32 de_objectid; | 1058 | __u32 de_objectid; |
@@ -1971,22 +1971,6 @@ extern struct file_operations reiserfs_file_operations; | |||
1971 | extern struct address_space_operations reiserfs_address_space_operations; | 1971 | extern struct address_space_operations reiserfs_address_space_operations; |
1972 | 1972 | ||
1973 | /* fix_nodes.c */ | 1973 | /* fix_nodes.c */ |
1974 | #ifdef CONFIG_REISERFS_CHECK | ||
1975 | void *reiserfs_kmalloc(size_t size, gfp_t flags, struct super_block *s); | ||
1976 | void reiserfs_kfree(const void *vp, size_t size, struct super_block *s); | ||
1977 | #else | ||
1978 | static inline void *reiserfs_kmalloc(size_t size, int flags, | ||
1979 | struct super_block *s) | ||
1980 | { | ||
1981 | return kmalloc(size, flags); | ||
1982 | } | ||
1983 | |||
1984 | static inline void reiserfs_kfree(const void *vp, size_t size, | ||
1985 | struct super_block *s) | ||
1986 | { | ||
1987 | kfree(vp); | ||
1988 | } | ||
1989 | #endif | ||
1990 | 1974 | ||
1991 | int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, | 1975 | int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, |
1992 | struct item_head *p_s_ins_ih, const void *); | 1976 | struct item_head *p_s_ins_ih, const void *); |
diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h index 3e68592e52e9..31b4c0bd4fa0 100644 --- a/include/linux/reiserfs_fs_sb.h +++ b/include/linux/reiserfs_fs_sb.h | |||
@@ -382,7 +382,6 @@ struct reiserfs_sb_info { | |||
382 | on-disk FS format */ | 382 | on-disk FS format */ |
383 | 383 | ||
384 | /* session statistics */ | 384 | /* session statistics */ |
385 | int s_kmallocs; | ||
386 | int s_disk_reads; | 385 | int s_disk_reads; |
387 | int s_disk_writes; | 386 | int s_disk_writes; |
388 | int s_fix_nodes; | 387 | int s_fix_nodes; |
diff --git a/include/linux/reiserfs_xattr.h b/include/linux/reiserfs_xattr.h index c84354e8374c..87280eb6083d 100644 --- a/include/linux/reiserfs_xattr.h +++ b/include/linux/reiserfs_xattr.h | |||
@@ -43,8 +43,6 @@ int reiserfs_delete_xattrs(struct inode *inode); | |||
43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); | 43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); |
44 | int reiserfs_xattr_init(struct super_block *sb, int mount_flags); | 44 | int reiserfs_xattr_init(struct super_block *sb, int mount_flags); |
45 | int reiserfs_permission(struct inode *inode, int mask, struct nameidata *nd); | 45 | int reiserfs_permission(struct inode *inode, int mask, struct nameidata *nd); |
46 | int reiserfs_permission_locked(struct inode *inode, int mask, | ||
47 | struct nameidata *nd); | ||
48 | 46 | ||
49 | int reiserfs_xattr_del(struct inode *, const char *); | 47 | int reiserfs_xattr_del(struct inode *, const char *); |
50 | int reiserfs_xattr_get(const struct inode *, const char *, void *, size_t); | 48 | int reiserfs_xattr_get(const struct inode *, const char *, void *, size_t); |
diff --git a/include/linux/rmap.h b/include/linux/rmap.h index 9d6fbeef2104..d6b9bcd1384c 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h | |||
@@ -91,7 +91,8 @@ static inline void page_dup_rmap(struct page *page) | |||
91 | * Called from mm/vmscan.c to handle paging out | 91 | * Called from mm/vmscan.c to handle paging out |
92 | */ | 92 | */ |
93 | int page_referenced(struct page *, int is_locked); | 93 | int page_referenced(struct page *, int is_locked); |
94 | int try_to_unmap(struct page *); | 94 | int try_to_unmap(struct page *, int ignore_refs); |
95 | void remove_from_swap(struct page *page); | ||
95 | 96 | ||
96 | /* | 97 | /* |
97 | * Called from mm/filemap_xip.c to unmap empty zero page | 98 | * Called from mm/filemap_xip.c to unmap empty zero page |
@@ -111,7 +112,7 @@ unsigned long page_address_in_vma(struct page *, struct vm_area_struct *); | |||
111 | #define anon_vma_link(vma) do {} while (0) | 112 | #define anon_vma_link(vma) do {} while (0) |
112 | 113 | ||
113 | #define page_referenced(page,l) TestClearPageReferenced(page) | 114 | #define page_referenced(page,l) TestClearPageReferenced(page) |
114 | #define try_to_unmap(page) SWAP_FAIL | 115 | #define try_to_unmap(page, refs) SWAP_FAIL |
115 | 116 | ||
116 | #endif /* CONFIG_MMU */ | 117 | #endif /* CONFIG_MMU */ |
117 | 118 | ||
diff --git a/include/linux/sched.h b/include/linux/sched.h index 0cfcd1c7865e..62e6314382f0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -298,8 +298,9 @@ struct mm_struct { | |||
298 | unsigned long addr, unsigned long len, | 298 | unsigned long addr, unsigned long len, |
299 | unsigned long pgoff, unsigned long flags); | 299 | unsigned long pgoff, unsigned long flags); |
300 | void (*unmap_area) (struct mm_struct *mm, unsigned long addr); | 300 | void (*unmap_area) (struct mm_struct *mm, unsigned long addr); |
301 | unsigned long mmap_base; /* base of mmap area */ | 301 | unsigned long mmap_base; /* base of mmap area */ |
302 | unsigned long cached_hole_size; /* if non-zero, the largest hole below free_area_cache */ | 302 | unsigned long task_size; /* size of task vm space */ |
303 | unsigned long cached_hole_size; /* if non-zero, the largest hole below free_area_cache */ | ||
303 | unsigned long free_area_cache; /* first hole of size cached_hole_size or larger */ | 304 | unsigned long free_area_cache; /* first hole of size cached_hole_size or larger */ |
304 | pgd_t * pgd; | 305 | pgd_t * pgd; |
305 | atomic_t mm_users; /* How many users with user space? */ | 306 | atomic_t mm_users; /* How many users with user space? */ |
@@ -697,12 +698,9 @@ struct task_struct { | |||
697 | 698 | ||
698 | int lock_depth; /* BKL lock depth */ | 699 | int lock_depth; /* BKL lock depth */ |
699 | 700 | ||
700 | #if defined(CONFIG_SMP) | 701 | #if defined(CONFIG_SMP) && defined(__ARCH_WANT_UNLOCKED_CTXSW) |
701 | int last_waker_cpu; /* CPU that last woke this task up */ | ||
702 | #if defined(__ARCH_WANT_UNLOCKED_CTXSW) | ||
703 | int oncpu; | 702 | int oncpu; |
704 | #endif | 703 | #endif |
705 | #endif | ||
706 | int prio, static_prio; | 704 | int prio, static_prio; |
707 | struct list_head run_list; | 705 | struct list_head run_list; |
708 | prio_array_t *array; | 706 | prio_array_t *array; |
@@ -894,7 +892,6 @@ static inline int pid_alive(struct task_struct *p) | |||
894 | } | 892 | } |
895 | 893 | ||
896 | extern void free_task(struct task_struct *tsk); | 894 | extern void free_task(struct task_struct *tsk); |
897 | extern void __put_task_struct(struct task_struct *tsk); | ||
898 | #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) | 895 | #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) |
899 | 896 | ||
900 | extern void __put_task_struct_cb(struct rcu_head *rhp); | 897 | extern void __put_task_struct_cb(struct rcu_head *rhp); |
@@ -1098,7 +1095,7 @@ extern struct sigqueue *sigqueue_alloc(void); | |||
1098 | extern void sigqueue_free(struct sigqueue *); | 1095 | extern void sigqueue_free(struct sigqueue *); |
1099 | extern int send_sigqueue(int, struct sigqueue *, struct task_struct *); | 1096 | extern int send_sigqueue(int, struct sigqueue *, struct task_struct *); |
1100 | extern int send_group_sigqueue(int, struct sigqueue *, struct task_struct *); | 1097 | extern int send_group_sigqueue(int, struct sigqueue *, struct task_struct *); |
1101 | extern int do_sigaction(int, const struct k_sigaction *, struct k_sigaction *); | 1098 | extern int do_sigaction(int, struct k_sigaction *, struct k_sigaction *); |
1102 | extern int do_sigaltstack(const stack_t __user *, stack_t __user *, unsigned long); | 1099 | extern int do_sigaltstack(const stack_t __user *, stack_t __user *, unsigned long); |
1103 | 1100 | ||
1104 | /* These can be the second arg to send_sig_info/send_group_sig_info. */ | 1101 | /* These can be the second arg to send_sig_info/send_group_sig_info. */ |
diff --git a/include/linux/security.h b/include/linux/security.h index ef753654daa5..7cbef482e13a 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -1499,15 +1499,11 @@ static inline void security_sb_post_pivotroot (struct nameidata *old_nd, | |||
1499 | 1499 | ||
1500 | static inline int security_inode_alloc (struct inode *inode) | 1500 | static inline int security_inode_alloc (struct inode *inode) |
1501 | { | 1501 | { |
1502 | if (unlikely (IS_PRIVATE (inode))) | ||
1503 | return 0; | ||
1504 | return security_ops->inode_alloc_security (inode); | 1502 | return security_ops->inode_alloc_security (inode); |
1505 | } | 1503 | } |
1506 | 1504 | ||
1507 | static inline void security_inode_free (struct inode *inode) | 1505 | static inline void security_inode_free (struct inode *inode) |
1508 | { | 1506 | { |
1509 | if (unlikely (IS_PRIVATE (inode))) | ||
1510 | return; | ||
1511 | security_ops->inode_free_security (inode); | 1507 | security_ops->inode_free_security (inode); |
1512 | } | 1508 | } |
1513 | 1509 | ||
@@ -2617,6 +2613,25 @@ static inline int security_netlink_recv (struct sk_buff *skb) | |||
2617 | return cap_netlink_recv (skb); | 2613 | return cap_netlink_recv (skb); |
2618 | } | 2614 | } |
2619 | 2615 | ||
2616 | static inline struct dentry *securityfs_create_dir(const char *name, | ||
2617 | struct dentry *parent) | ||
2618 | { | ||
2619 | return ERR_PTR(-ENODEV); | ||
2620 | } | ||
2621 | |||
2622 | static inline struct dentry *securityfs_create_file(const char *name, | ||
2623 | mode_t mode, | ||
2624 | struct dentry *parent, | ||
2625 | void *data, | ||
2626 | struct file_operations *fops) | ||
2627 | { | ||
2628 | return ERR_PTR(-ENODEV); | ||
2629 | } | ||
2630 | |||
2631 | static inline void securityfs_remove(struct dentry *dentry) | ||
2632 | { | ||
2633 | } | ||
2634 | |||
2620 | #endif /* CONFIG_SECURITY */ | 2635 | #endif /* CONFIG_SECURITY */ |
2621 | 2636 | ||
2622 | #ifdef CONFIG_SECURITY_NETWORK | 2637 | #ifdef CONFIG_SECURITY_NETWORK |
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index cee302aefdb7..73b464f0926a 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
@@ -26,7 +26,7 @@ struct plat_serial8250_port { | |||
26 | unsigned char regshift; /* register shift */ | 26 | unsigned char regshift; /* register shift */ |
27 | unsigned char iotype; /* UPIO_* */ | 27 | unsigned char iotype; /* UPIO_* */ |
28 | unsigned char hub6; | 28 | unsigned char hub6; |
29 | unsigned int flags; /* UPF_* flags */ | 29 | upf_t flags; /* UPF_* flags */ |
30 | }; | 30 | }; |
31 | 31 | ||
32 | /* | 32 | /* |
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index ec351005bf9d..4041122dabfc 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
@@ -203,6 +203,8 @@ struct uart_icount { | |||
203 | __u32 buf_overrun; | 203 | __u32 buf_overrun; |
204 | }; | 204 | }; |
205 | 205 | ||
206 | typedef unsigned int __bitwise__ upf_t; | ||
207 | |||
206 | struct uart_port { | 208 | struct uart_port { |
207 | spinlock_t lock; /* port lock */ | 209 | spinlock_t lock; /* port lock */ |
208 | unsigned int iobase; /* in/out[bwl] */ | 210 | unsigned int iobase; /* in/out[bwl] */ |
@@ -230,36 +232,34 @@ struct uart_port { | |||
230 | unsigned long sysrq; /* sysrq timeout */ | 232 | unsigned long sysrq; /* sysrq timeout */ |
231 | #endif | 233 | #endif |
232 | 234 | ||
233 | unsigned int flags; | 235 | upf_t flags; |
234 | 236 | ||
235 | #define UPF_FOURPORT (1 << 1) | 237 | #define UPF_FOURPORT ((__force upf_t) (1 << 1)) |
236 | #define UPF_SAK (1 << 2) | 238 | #define UPF_SAK ((__force upf_t) (1 << 2)) |
237 | #define UPF_SPD_MASK (0x1030) | 239 | #define UPF_SPD_MASK ((__force upf_t) (0x1030)) |
238 | #define UPF_SPD_HI (0x0010) | 240 | #define UPF_SPD_HI ((__force upf_t) (0x0010)) |
239 | #define UPF_SPD_VHI (0x0020) | 241 | #define UPF_SPD_VHI ((__force upf_t) (0x0020)) |
240 | #define UPF_SPD_CUST (0x0030) | 242 | #define UPF_SPD_CUST ((__force upf_t) (0x0030)) |
241 | #define UPF_SPD_SHI (0x1000) | 243 | #define UPF_SPD_SHI ((__force upf_t) (0x1000)) |
242 | #define UPF_SPD_WARP (0x1010) | 244 | #define UPF_SPD_WARP ((__force upf_t) (0x1010)) |
243 | #define UPF_SKIP_TEST (1 << 6) | 245 | #define UPF_SKIP_TEST ((__force upf_t) (1 << 6)) |
244 | #define UPF_AUTO_IRQ (1 << 7) | 246 | #define UPF_AUTO_IRQ ((__force upf_t) (1 << 7)) |
245 | #define UPF_HARDPPS_CD (1 << 11) | 247 | #define UPF_HARDPPS_CD ((__force upf_t) (1 << 11)) |
246 | #define UPF_LOW_LATENCY (1 << 13) | 248 | #define UPF_LOW_LATENCY ((__force upf_t) (1 << 13)) |
247 | #define UPF_BUGGY_UART (1 << 14) | 249 | #define UPF_BUGGY_UART ((__force upf_t) (1 << 14)) |
248 | #define UPF_AUTOPROBE (1 << 15) | 250 | #define UPF_MAGIC_MULTIPLIER ((__force upf_t) (1 << 16)) |
249 | #define UPF_MAGIC_MULTIPLIER (1 << 16) | 251 | #define UPF_CONS_FLOW ((__force upf_t) (1 << 23)) |
250 | #define UPF_BOOT_ONLYMCA (1 << 22) | 252 | #define UPF_SHARE_IRQ ((__force upf_t) (1 << 24)) |
251 | #define UPF_CONS_FLOW (1 << 23) | 253 | #define UPF_BOOT_AUTOCONF ((__force upf_t) (1 << 28)) |
252 | #define UPF_SHARE_IRQ (1 << 24) | 254 | #define UPF_IOREMAP ((__force upf_t) (1 << 31)) |
253 | #define UPF_BOOT_AUTOCONF (1 << 28) | 255 | |
254 | #define UPF_IOREMAP (1 << 31) | 256 | #define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) |
255 | 257 | #define UPF_USR_MASK ((__force upf_t) (UPF_SPD_MASK|UPF_LOW_LATENCY)) | |
256 | #define UPF_CHANGE_MASK (0x17fff) | ||
257 | #define UPF_USR_MASK (UPF_SPD_MASK|UPF_LOW_LATENCY) | ||
258 | 258 | ||
259 | unsigned int mctrl; /* current modem ctrl settings */ | 259 | unsigned int mctrl; /* current modem ctrl settings */ |
260 | unsigned int timeout; /* character-based timeout */ | 260 | unsigned int timeout; /* character-based timeout */ |
261 | unsigned int type; /* port type */ | 261 | unsigned int type; /* port type */ |
262 | struct uart_ops *ops; | 262 | const struct uart_ops *ops; |
263 | unsigned int custom_divisor; | 263 | unsigned int custom_divisor; |
264 | unsigned int line; /* port index */ | 264 | unsigned int line; /* port index */ |
265 | unsigned long mapbase; /* for ioremap */ | 265 | unsigned long mapbase; /* for ioremap */ |
@@ -289,6 +289,9 @@ struct uart_state { | |||
289 | }; | 289 | }; |
290 | 290 | ||
291 | #define UART_XMIT_SIZE PAGE_SIZE | 291 | #define UART_XMIT_SIZE PAGE_SIZE |
292 | |||
293 | typedef unsigned int __bitwise__ uif_t; | ||
294 | |||
292 | /* | 295 | /* |
293 | * This is the state information which is only valid when the port | 296 | * This is the state information which is only valid when the port |
294 | * is open; it may be freed by the core driver once the device has | 297 | * is open; it may be freed by the core driver once the device has |
@@ -298,17 +301,16 @@ struct uart_state { | |||
298 | struct uart_info { | 301 | struct uart_info { |
299 | struct tty_struct *tty; | 302 | struct tty_struct *tty; |
300 | struct circ_buf xmit; | 303 | struct circ_buf xmit; |
301 | unsigned int flags; | 304 | uif_t flags; |
302 | 305 | ||
303 | /* | 306 | /* |
304 | * These are the flags that specific to info->flags, and reflect our | 307 | * Definitions for info->flags. These are _private_ to serial_core, and |
305 | * internal state. They can not be accessed via port->flags. Low | 308 | * are specific to this structure. They may be queried by low level drivers. |
306 | * level drivers must not change these, but may query them instead. | ||
307 | */ | 309 | */ |
308 | #define UIF_CHECK_CD (1 << 25) | 310 | #define UIF_CHECK_CD ((__force uif_t) (1 << 25)) |
309 | #define UIF_CTS_FLOW (1 << 26) | 311 | #define UIF_CTS_FLOW ((__force uif_t) (1 << 26)) |
310 | #define UIF_NORMAL_ACTIVE (1 << 29) | 312 | #define UIF_NORMAL_ACTIVE ((__force uif_t) (1 << 29)) |
311 | #define UIF_INITIALIZED (1 << 31) | 313 | #define UIF_INITIALIZED ((__force uif_t) (1 << 31)) |
312 | 314 | ||
313 | int blocked_open; | 315 | int blocked_open; |
314 | 316 | ||
@@ -430,7 +432,7 @@ static inline int uart_handle_break(struct uart_port *port) | |||
430 | port->sysrq = 0; | 432 | port->sysrq = 0; |
431 | } | 433 | } |
432 | #endif | 434 | #endif |
433 | if (info->flags & UPF_SAK) | 435 | if (port->flags & UPF_SAK) |
434 | do_SAK(info->tty); | 436 | do_SAK(info->tty); |
435 | return 0; | 437 | return 0; |
436 | } | 438 | } |
diff --git a/include/linux/serial_reg.h b/include/linux/serial_reg.h index 6a2bb955844b..3c8a6aa77415 100644 --- a/include/linux/serial_reg.h +++ b/include/linux/serial_reg.h | |||
@@ -247,10 +247,10 @@ | |||
247 | #define UART_CTR 0xFF | 247 | #define UART_CTR 0xFF |
248 | 248 | ||
249 | /* | 249 | /* |
250 | * The 16C950 Additional Control Reigster | 250 | * The 16C950 Additional Control Register |
251 | */ | 251 | */ |
252 | #define UART_ACR_RXDIS 0x01 /* Receiver disable */ | 252 | #define UART_ACR_RXDIS 0x01 /* Receiver disable */ |
253 | #define UART_ACR_TXDIS 0x02 /* Receiver disable */ | 253 | #define UART_ACR_TXDIS 0x02 /* Transmitter disable */ |
254 | #define UART_ACR_DSRFC 0x04 /* DSR Flow Control */ | 254 | #define UART_ACR_DSRFC 0x04 /* DSR Flow Control */ |
255 | #define UART_ACR_TLENB 0x20 /* 950 trigger levels enable */ | 255 | #define UART_ACR_TLENB 0x20 /* 950 trigger levels enable */ |
256 | #define UART_ACR_ICRRD 0x40 /* ICR Read enable */ | 256 | #define UART_ACR_ICRRD 0x40 /* ICR Read enable */ |
diff --git a/include/linux/slab.h b/include/linux/slab.h index 1fb77a9cc148..8cf52939d0ab 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -76,7 +76,14 @@ struct cache_sizes { | |||
76 | kmem_cache_t *cs_dmacachep; | 76 | kmem_cache_t *cs_dmacachep; |
77 | }; | 77 | }; |
78 | extern struct cache_sizes malloc_sizes[]; | 78 | extern struct cache_sizes malloc_sizes[]; |
79 | |||
80 | #ifndef CONFIG_DEBUG_SLAB | ||
79 | extern void *__kmalloc(size_t, gfp_t); | 81 | extern void *__kmalloc(size_t, gfp_t); |
82 | #else | ||
83 | extern void *__kmalloc_track_caller(size_t, gfp_t, void*); | ||
84 | #define __kmalloc(size, flags) \ | ||
85 | __kmalloc_track_caller(size, flags, __builtin_return_address(0)) | ||
86 | #endif | ||
80 | 87 | ||
81 | static inline void *kmalloc(size_t size, gfp_t flags) | 88 | static inline void *kmalloc(size_t size, gfp_t flags) |
82 | { | 89 | { |
diff --git a/include/linux/smp.h b/include/linux/smp.h index 9dfa3ee769ae..44153fdf73fc 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -17,7 +17,6 @@ extern void cpu_idle(void); | |||
17 | #include <linux/compiler.h> | 17 | #include <linux/compiler.h> |
18 | #include <linux/thread_info.h> | 18 | #include <linux/thread_info.h> |
19 | #include <asm/smp.h> | 19 | #include <asm/smp.h> |
20 | #include <asm/bug.h> | ||
21 | 20 | ||
22 | /* | 21 | /* |
23 | * main cross-CPU interfaces, handles INIT, TLB flush, STOP, etc. | 22 | * main cross-CPU interfaces, handles INIT, TLB flush, STOP, etc. |
diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h index b68c11a2d6dd..be4772ed43c0 100644 --- a/include/linux/sunrpc/auth.h +++ b/include/linux/sunrpc/auth.h | |||
@@ -48,7 +48,7 @@ struct rpc_cred { | |||
48 | 48 | ||
49 | /* per-flavor data */ | 49 | /* per-flavor data */ |
50 | }; | 50 | }; |
51 | #define RPCAUTH_CRED_LOCKED 0x0001 | 51 | #define RPCAUTH_CRED_NEW 0x0001 |
52 | #define RPCAUTH_CRED_UPTODATE 0x0002 | 52 | #define RPCAUTH_CRED_UPTODATE 0x0002 |
53 | 53 | ||
54 | #define RPCAUTH_CRED_MAGIC 0x0f4aa4f0 | 54 | #define RPCAUTH_CRED_MAGIC 0x0f4aa4f0 |
@@ -83,9 +83,10 @@ struct rpc_auth { | |||
83 | struct rpc_cred_cache * au_credcache; | 83 | struct rpc_cred_cache * au_credcache; |
84 | /* per-flavor data */ | 84 | /* per-flavor data */ |
85 | }; | 85 | }; |
86 | #define RPC_AUTH_PROC_CREDS 0x0010 /* process creds (including | 86 | |
87 | * uid/gid, fs[ug]id, gids) | 87 | /* Flags for rpcauth_lookupcred() */ |
88 | */ | 88 | #define RPCAUTH_LOOKUP_NEW 0x01 /* Accept an uninitialised cred */ |
89 | #define RPCAUTH_LOOKUP_ROOTCREDS 0x02 /* This really ought to go! */ | ||
89 | 90 | ||
90 | /* | 91 | /* |
91 | * Client authentication ops | 92 | * Client authentication ops |
@@ -105,6 +106,7 @@ struct rpc_authops { | |||
105 | 106 | ||
106 | struct rpc_credops { | 107 | struct rpc_credops { |
107 | const char * cr_name; /* Name of the auth flavour */ | 108 | const char * cr_name; /* Name of the auth flavour */ |
109 | int (*cr_init)(struct rpc_auth *, struct rpc_cred *); | ||
108 | void (*crdestroy)(struct rpc_cred *); | 110 | void (*crdestroy)(struct rpc_cred *); |
109 | 111 | ||
110 | int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); | 112 | int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); |
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 5dc94e777fab..37c1c76fd547 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h | |||
@@ -43,16 +43,20 @@ extern void mark_free_pages(struct zone *zone); | |||
43 | /* kernel/power/swsusp.c */ | 43 | /* kernel/power/swsusp.c */ |
44 | extern int software_suspend(void); | 44 | extern int software_suspend(void); |
45 | 45 | ||
46 | #if defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) | ||
46 | extern int pm_prepare_console(void); | 47 | extern int pm_prepare_console(void); |
47 | extern void pm_restore_console(void); | 48 | extern void pm_restore_console(void); |
48 | 49 | #else | |
50 | static inline int pm_prepare_console(void) { return 0; } | ||
51 | static inline void pm_restore_console(void) {} | ||
52 | #endif /* defined(CONFIG_VT) && defined(CONFIG_VT_CONSOLE) */ | ||
49 | #else | 53 | #else |
50 | static inline int software_suspend(void) | 54 | static inline int software_suspend(void) |
51 | { | 55 | { |
52 | printk("Warning: fake suspend called\n"); | 56 | printk("Warning: fake suspend called\n"); |
53 | return -EPERM; | 57 | return -EPERM; |
54 | } | 58 | } |
55 | #endif | 59 | #endif /* CONFIG_PM */ |
56 | 60 | ||
57 | #ifdef CONFIG_SUSPEND_SMP | 61 | #ifdef CONFIG_SUSPEND_SMP |
58 | extern void disable_nonboot_cpus(void); | 62 | extern void disable_nonboot_cpus(void); |
diff --git a/include/linux/swap.h b/include/linux/swap.h index 4a99e4a7fbf3..d572b19afb7d 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -147,7 +147,7 @@ struct swap_list_t { | |||
147 | #define vm_swap_full() (nr_swap_pages*2 < total_swap_pages) | 147 | #define vm_swap_full() (nr_swap_pages*2 < total_swap_pages) |
148 | 148 | ||
149 | /* linux/mm/oom_kill.c */ | 149 | /* linux/mm/oom_kill.c */ |
150 | extern void out_of_memory(gfp_t gfp_mask, int order); | 150 | extern void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, int order); |
151 | 151 | ||
152 | /* linux/mm/memory.c */ | 152 | /* linux/mm/memory.c */ |
153 | extern void swapin_readahead(swp_entry_t, unsigned long, struct vm_area_struct *); | 153 | extern void swapin_readahead(swp_entry_t, unsigned long, struct vm_area_struct *); |
@@ -178,6 +178,7 @@ extern int vm_swappiness; | |||
178 | 178 | ||
179 | #ifdef CONFIG_NUMA | 179 | #ifdef CONFIG_NUMA |
180 | extern int zone_reclaim_mode; | 180 | extern int zone_reclaim_mode; |
181 | extern int zone_reclaim_interval; | ||
181 | extern int zone_reclaim(struct zone *, gfp_t, unsigned int); | 182 | extern int zone_reclaim(struct zone *, gfp_t, unsigned int); |
182 | #else | 183 | #else |
183 | #define zone_reclaim_mode 0 | 184 | #define zone_reclaim_mode 0 |
@@ -190,13 +191,20 @@ static inline int zone_reclaim(struct zone *z, gfp_t mask, unsigned int order) | |||
190 | #ifdef CONFIG_MIGRATION | 191 | #ifdef CONFIG_MIGRATION |
191 | extern int isolate_lru_page(struct page *p); | 192 | extern int isolate_lru_page(struct page *p); |
192 | extern int putback_lru_pages(struct list_head *l); | 193 | extern int putback_lru_pages(struct list_head *l); |
194 | extern int migrate_page(struct page *, struct page *); | ||
195 | extern void migrate_page_copy(struct page *, struct page *); | ||
196 | extern int migrate_page_remove_references(struct page *, struct page *, int); | ||
193 | extern int migrate_pages(struct list_head *l, struct list_head *t, | 197 | extern int migrate_pages(struct list_head *l, struct list_head *t, |
194 | struct list_head *moved, struct list_head *failed); | 198 | struct list_head *moved, struct list_head *failed); |
199 | extern int fail_migrate_page(struct page *, struct page *); | ||
195 | #else | 200 | #else |
196 | static inline int isolate_lru_page(struct page *p) { return -ENOSYS; } | 201 | static inline int isolate_lru_page(struct page *p) { return -ENOSYS; } |
197 | static inline int putback_lru_pages(struct list_head *l) { return 0; } | 202 | static inline int putback_lru_pages(struct list_head *l) { return 0; } |
198 | static inline int migrate_pages(struct list_head *l, struct list_head *t, | 203 | static inline int migrate_pages(struct list_head *l, struct list_head *t, |
199 | struct list_head *moved, struct list_head *failed) { return -ENOSYS; } | 204 | struct list_head *moved, struct list_head *failed) { return -ENOSYS; } |
205 | /* Possible settings for the migrate_page() method in address_operations */ | ||
206 | #define migrate_page NULL | ||
207 | #define fail_migrate_page NULL | ||
200 | #endif | 208 | #endif |
201 | 209 | ||
202 | #ifdef CONFIG_MMU | 210 | #ifdef CONFIG_MMU |
@@ -245,6 +253,7 @@ extern int remove_exclusive_swap_page(struct page *); | |||
245 | struct backing_dev_info; | 253 | struct backing_dev_info; |
246 | 254 | ||
247 | extern spinlock_t swap_lock; | 255 | extern spinlock_t swap_lock; |
256 | extern int remove_vma_swap(struct vm_area_struct *vma, struct page *page); | ||
248 | 257 | ||
249 | /* linux/mm/thrash.c */ | 258 | /* linux/mm/thrash.c */ |
250 | extern struct mm_struct * swap_token_mm; | 259 | extern struct mm_struct * swap_token_mm; |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index e666d6070569..b9ea44ac0ddb 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -50,6 +50,8 @@ struct timezone; | |||
50 | struct tms; | 50 | struct tms; |
51 | struct utimbuf; | 51 | struct utimbuf; |
52 | struct mq_attr; | 52 | struct mq_attr; |
53 | struct compat_stat; | ||
54 | struct compat_timeval; | ||
53 | 55 | ||
54 | #include <linux/config.h> | 56 | #include <linux/config.h> |
55 | #include <linux/types.h> | 57 | #include <linux/types.h> |
@@ -534,4 +536,37 @@ asmlinkage long sys_spu_run(int fd, __u32 __user *unpc, | |||
534 | asmlinkage long sys_spu_create(const char __user *name, | 536 | asmlinkage long sys_spu_create(const char __user *name, |
535 | unsigned int flags, mode_t mode); | 537 | unsigned int flags, mode_t mode); |
536 | 538 | ||
539 | asmlinkage long sys_mknodat(int dfd, const char __user * filename, int mode, | ||
540 | unsigned dev); | ||
541 | asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode); | ||
542 | asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag); | ||
543 | asmlinkage long sys_symlinkat(const char __user * oldname, | ||
544 | int newdfd, const char __user * newname); | ||
545 | asmlinkage long sys_linkat(int olddfd, const char __user *oldname, | ||
546 | int newdfd, const char __user *newname, int flags); | ||
547 | asmlinkage long sys_renameat(int olddfd, const char __user * oldname, | ||
548 | int newdfd, const char __user * newname); | ||
549 | asmlinkage long sys_futimesat(int dfd, char __user *filename, | ||
550 | struct timeval __user *utimes); | ||
551 | asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode); | ||
552 | asmlinkage long sys_fchmodat(int dfd, const char __user * filename, | ||
553 | mode_t mode); | ||
554 | asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user, | ||
555 | gid_t group, int flag); | ||
556 | asmlinkage long sys_openat(int dfd, const char __user *filename, int flags, | ||
557 | int mode); | ||
558 | asmlinkage long sys_newfstatat(int dfd, char __user *filename, | ||
559 | struct stat __user *statbuf, int flag); | ||
560 | asmlinkage long sys_fstatat64(int dfd, char __user *filename, | ||
561 | struct stat64 __user *statbuf, int flag); | ||
562 | asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf, | ||
563 | int bufsiz); | ||
564 | asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename, | ||
565 | struct compat_timeval __user *t); | ||
566 | asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename, | ||
567 | struct compat_stat __user *statbuf, | ||
568 | int flag); | ||
569 | asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename, | ||
570 | int flags, int mode); | ||
571 | |||
537 | #endif | 572 | #endif |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 8352a7ce5895..bac61db26456 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -146,6 +146,8 @@ enum | |||
146 | KERN_RANDOMIZE=68, /* int: randomize virtual address space */ | 146 | KERN_RANDOMIZE=68, /* int: randomize virtual address space */ |
147 | KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */ | 147 | KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */ |
148 | KERN_SPIN_RETRY=70, /* int: number of spinlock retries */ | 148 | KERN_SPIN_RETRY=70, /* int: number of spinlock retries */ |
149 | KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */ | ||
150 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ | ||
149 | }; | 151 | }; |
150 | 152 | ||
151 | 153 | ||
@@ -182,7 +184,8 @@ enum | |||
182 | VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */ | 184 | VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */ |
183 | VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */ | 185 | VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */ |
184 | VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */ | 186 | VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */ |
185 | VM_ZONE_RECLAIM_MODE=31,/* reclaim local zone memory before going off node */ | 187 | VM_ZONE_RECLAIM_MODE=31, /* reclaim local zone memory before going off node */ |
188 | VM_ZONE_RECLAIM_INTERVAL=32, /* time period to wait after reclaim failure */ | ||
186 | }; | 189 | }; |
187 | 190 | ||
188 | 191 | ||
diff --git a/include/linux/time.h b/include/linux/time.h index 614dd8465839..d9cdba54b789 100644 --- a/include/linux/time.h +++ b/include/linux/time.h | |||
@@ -33,11 +33,34 @@ struct timezone { | |||
33 | #define NSEC_PER_SEC 1000000000L | 33 | #define NSEC_PER_SEC 1000000000L |
34 | #define NSEC_PER_USEC 1000L | 34 | #define NSEC_PER_USEC 1000L |
35 | 35 | ||
36 | static __inline__ int timespec_equal(struct timespec *a, struct timespec *b) | 36 | static inline int timespec_equal(struct timespec *a, struct timespec *b) |
37 | { | 37 | { |
38 | return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec); | 38 | return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec); |
39 | } | 39 | } |
40 | 40 | ||
41 | /* | ||
42 | * lhs < rhs: return <0 | ||
43 | * lhs == rhs: return 0 | ||
44 | * lhs > rhs: return >0 | ||
45 | */ | ||
46 | static inline int timespec_compare(struct timespec *lhs, struct timespec *rhs) | ||
47 | { | ||
48 | if (lhs->tv_sec < rhs->tv_sec) | ||
49 | return -1; | ||
50 | if (lhs->tv_sec > rhs->tv_sec) | ||
51 | return 1; | ||
52 | return lhs->tv_nsec - rhs->tv_nsec; | ||
53 | } | ||
54 | |||
55 | static inline int timeval_compare(struct timeval *lhs, struct timeval *rhs) | ||
56 | { | ||
57 | if (lhs->tv_sec < rhs->tv_sec) | ||
58 | return -1; | ||
59 | if (lhs->tv_sec > rhs->tv_sec) | ||
60 | return 1; | ||
61 | return lhs->tv_usec - rhs->tv_usec; | ||
62 | } | ||
63 | |||
41 | extern unsigned long mktime(const unsigned int year, const unsigned int mon, | 64 | extern unsigned long mktime(const unsigned int year, const unsigned int mon, |
42 | const unsigned int day, const unsigned int hour, | 65 | const unsigned int day, const unsigned int hour, |
43 | const unsigned int min, const unsigned int sec); | 66 | const unsigned int min, const unsigned int sec); |
@@ -48,7 +71,7 @@ extern void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec); | |||
48 | * Returns true if the timespec is norm, false if denorm: | 71 | * Returns true if the timespec is norm, false if denorm: |
49 | */ | 72 | */ |
50 | #define timespec_valid(ts) \ | 73 | #define timespec_valid(ts) \ |
51 | (((ts)->tv_sec >= 0) && (((unsigned) (ts)->tv_nsec) < NSEC_PER_SEC)) | 74 | (((ts)->tv_sec >= 0) && (((unsigned long) (ts)->tv_nsec) < NSEC_PER_SEC)) |
52 | 75 | ||
53 | /* | 76 | /* |
54 | * 64-bit nanosec type. Large enough to span 292+ years in nanosecond | 77 | * 64-bit nanosec type. Large enough to span 292+ years in nanosecond |
diff --git a/include/linux/timex.h b/include/linux/timex.h index 04a4a8cb4ed3..b7ca1204e42a 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
@@ -345,6 +345,9 @@ time_interpolator_reset(void) | |||
345 | 345 | ||
346 | #endif /* !CONFIG_TIME_INTERPOLATION */ | 346 | #endif /* !CONFIG_TIME_INTERPOLATION */ |
347 | 347 | ||
348 | /* Returns how long ticks are at present, in ns / 2^(SHIFT_SCALE-10). */ | ||
349 | extern u64 current_tick_length(void); | ||
350 | |||
348 | #endif /* KERNEL */ | 351 | #endif /* KERNEL */ |
349 | 352 | ||
350 | #endif /* LINUX_TIMEX_H */ | 353 | #endif /* LINUX_TIMEX_H */ |
diff --git a/include/linux/tty.h b/include/linux/tty.h index 3787102e4b12..f45cd74e6f24 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -57,6 +57,9 @@ struct tty_buffer { | |||
57 | unsigned char *flag_buf_ptr; | 57 | unsigned char *flag_buf_ptr; |
58 | int used; | 58 | int used; |
59 | int size; | 59 | int size; |
60 | int active; | ||
61 | int commit; | ||
62 | int read; | ||
60 | /* Data points here */ | 63 | /* Data points here */ |
61 | unsigned long data[0]; | 64 | unsigned long data[0]; |
62 | }; | 65 | }; |
@@ -64,6 +67,7 @@ struct tty_buffer { | |||
64 | struct tty_bufhead { | 67 | struct tty_bufhead { |
65 | struct work_struct work; | 68 | struct work_struct work; |
66 | struct semaphore pty_sem; | 69 | struct semaphore pty_sem; |
70 | spinlock_t lock; | ||
67 | struct tty_buffer *head; /* Queue head */ | 71 | struct tty_buffer *head; /* Queue head */ |
68 | struct tty_buffer *tail; /* Active buffer */ | 72 | struct tty_buffer *tail; /* Active buffer */ |
69 | struct tty_buffer *free; /* Free queue head */ | 73 | struct tty_buffer *free; /* Free queue head */ |
diff --git a/include/linux/tty_flip.h b/include/linux/tty_flip.h index be1400e82482..222faf97d5f9 100644 --- a/include/linux/tty_flip.h +++ b/include/linux/tty_flip.h | |||
@@ -17,7 +17,7 @@ _INLINE_ int tty_insert_flip_char(struct tty_struct *tty, | |||
17 | unsigned char ch, char flag) | 17 | unsigned char ch, char flag) |
18 | { | 18 | { |
19 | struct tty_buffer *tb = tty->buf.tail; | 19 | struct tty_buffer *tb = tty->buf.tail; |
20 | if (tb && tb->used < tb->size) { | 20 | if (tb && tb->active && tb->used < tb->size) { |
21 | tb->flag_buf_ptr[tb->used] = flag; | 21 | tb->flag_buf_ptr[tb->used] = flag; |
22 | tb->char_buf_ptr[tb->used++] = ch; | 22 | tb->char_buf_ptr[tb->used++] = ch; |
23 | return 1; | 23 | return 1; |
@@ -27,6 +27,13 @@ _INLINE_ int tty_insert_flip_char(struct tty_struct *tty, | |||
27 | 27 | ||
28 | _INLINE_ void tty_schedule_flip(struct tty_struct *tty) | 28 | _INLINE_ void tty_schedule_flip(struct tty_struct *tty) |
29 | { | 29 | { |
30 | unsigned long flags; | ||
31 | spin_lock_irqsave(&tty->buf.lock, flags); | ||
32 | if (tty->buf.tail != NULL) { | ||
33 | tty->buf.tail->active = 0; | ||
34 | tty->buf.tail->commit = tty->buf.tail->used; | ||
35 | } | ||
36 | spin_unlock_irqrestore(&tty->buf.lock, flags); | ||
30 | schedule_delayed_work(&tty->buf.work, 1); | 37 | schedule_delayed_work(&tty->buf.work, 1); |
31 | } | 38 | } |
32 | 39 | ||
diff --git a/include/linux/types.h b/include/linux/types.h index 21b9ce803644..54ae2d59e71b 100644 --- a/include/linux/types.h +++ b/include/linux/types.h | |||
@@ -8,6 +8,8 @@ | |||
8 | (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG) | 8 | (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG) |
9 | #define DECLARE_BITMAP(name,bits) \ | 9 | #define DECLARE_BITMAP(name,bits) \ |
10 | unsigned long name[BITS_TO_LONGS(bits)] | 10 | unsigned long name[BITS_TO_LONGS(bits)] |
11 | |||
12 | #define BITS_PER_BYTE 8 | ||
11 | #endif | 13 | #endif |
12 | 14 | ||
13 | #include <linux/posix_types.h> | 15 | #include <linux/posix_types.h> |
diff --git a/include/linux/ufs_fs.h b/include/linux/ufs_fs.h index 7a6babeca256..b0ffe4356e5a 100644 --- a/include/linux/ufs_fs.h +++ b/include/linux/ufs_fs.h | |||
@@ -148,11 +148,11 @@ typedef __u16 __bitwise __fs16; | |||
148 | #define UFS_USEEFT ((__u16)65535) | 148 | #define UFS_USEEFT ((__u16)65535) |
149 | 149 | ||
150 | #define UFS_FSOK 0x7c269d38 | 150 | #define UFS_FSOK 0x7c269d38 |
151 | #define UFS_FSACTIVE ((char)0x00) | 151 | #define UFS_FSACTIVE ((__s8)0x00) |
152 | #define UFS_FSCLEAN ((char)0x01) | 152 | #define UFS_FSCLEAN ((__s8)0x01) |
153 | #define UFS_FSSTABLE ((char)0x02) | 153 | #define UFS_FSSTABLE ((__s8)0x02) |
154 | #define UFS_FSOSF1 ((char)0x03) /* is this correct for DEC OSF/1? */ | 154 | #define UFS_FSOSF1 ((__s8)0x03) /* is this correct for DEC OSF/1? */ |
155 | #define UFS_FSBAD ((char)0xff) | 155 | #define UFS_FSBAD ((__s8)0xff) |
156 | 156 | ||
157 | /* From here to next blank line, s_flags for ufs_sb_info */ | 157 | /* From here to next blank line, s_flags for ufs_sb_info */ |
158 | /* directory entry encoding */ | 158 | /* directory entry encoding */ |
@@ -502,8 +502,7 @@ struct ufs_super_block { | |||
502 | /* | 502 | /* |
503 | * Convert cylinder group to base address of its global summary info. | 503 | * Convert cylinder group to base address of its global summary info. |
504 | */ | 504 | */ |
505 | #define fs_cs(indx) \ | 505 | #define fs_cs(indx) s_csp[(indx)] |
506 | s_csp[(indx) >> uspi->s_csshift][(indx) & ~uspi->s_csmask] | ||
507 | 506 | ||
508 | /* | 507 | /* |
509 | * Cylinder group block for a file system. | 508 | * Cylinder group block for a file system. |
@@ -913,6 +912,7 @@ extern int ufs_sync_inode (struct inode *); | |||
913 | extern void ufs_delete_inode (struct inode *); | 912 | extern void ufs_delete_inode (struct inode *); |
914 | extern struct buffer_head * ufs_getfrag (struct inode *, unsigned, int, int *); | 913 | extern struct buffer_head * ufs_getfrag (struct inode *, unsigned, int, int *); |
915 | extern struct buffer_head * ufs_bread (struct inode *, unsigned, int, int *); | 914 | extern struct buffer_head * ufs_bread (struct inode *, unsigned, int, int *); |
915 | extern int ufs_getfrag_block (struct inode *inode, sector_t fragment, struct buffer_head *bh_result, int create); | ||
916 | 916 | ||
917 | /* namei.c */ | 917 | /* namei.c */ |
918 | extern struct file_operations ufs_dir_operations; | 918 | extern struct file_operations ufs_dir_operations; |
diff --git a/include/linux/ufs_fs_sb.h b/include/linux/ufs_fs_sb.h index c1be4c226486..8ff13c160f3d 100644 --- a/include/linux/ufs_fs_sb.h +++ b/include/linux/ufs_fs_sb.h | |||
@@ -25,7 +25,7 @@ struct ufs_csum; | |||
25 | 25 | ||
26 | struct ufs_sb_info { | 26 | struct ufs_sb_info { |
27 | struct ufs_sb_private_info * s_uspi; | 27 | struct ufs_sb_private_info * s_uspi; |
28 | struct ufs_csum * s_csp[UFS_MAXCSBUFS]; | 28 | struct ufs_csum * s_csp; |
29 | unsigned s_bytesex; | 29 | unsigned s_bytesex; |
30 | unsigned s_flags; | 30 | unsigned s_flags; |
31 | struct buffer_head ** s_ucg; | 31 | struct buffer_head ** s_ucg; |
diff --git a/include/linux/usb_ch9.h b/include/linux/usb_ch9.h index ee21e6bf3867..a2aacfc7af2f 100644 --- a/include/linux/usb_ch9.h +++ b/include/linux/usb_ch9.h | |||
@@ -535,9 +535,11 @@ enum usb_device_state { | |||
535 | */ | 535 | */ |
536 | USB_STATE_NOTATTACHED = 0, | 536 | USB_STATE_NOTATTACHED = 0, |
537 | 537 | ||
538 | /* the chapter 9 device states */ | 538 | /* chapter 9 and authentication (wireless) device states */ |
539 | USB_STATE_ATTACHED, | 539 | USB_STATE_ATTACHED, |
540 | USB_STATE_POWERED, | 540 | USB_STATE_POWERED, /* wired */ |
541 | USB_STATE_UNAUTHENTICATED, /* auth */ | ||
542 | USB_STATE_RECONNECTING, /* auth */ | ||
541 | USB_STATE_DEFAULT, /* limited function */ | 543 | USB_STATE_DEFAULT, /* limited function */ |
542 | USB_STATE_ADDRESS, | 544 | USB_STATE_ADDRESS, |
543 | USB_STATE_CONFIGURED, /* most functions */ | 545 | USB_STATE_CONFIGURED, /* most functions */ |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 3f1504353472..724cfbf54b8a 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -560,7 +560,7 @@ struct v4l2_framebuffer | |||
560 | struct v4l2_clip | 560 | struct v4l2_clip |
561 | { | 561 | { |
562 | struct v4l2_rect c; | 562 | struct v4l2_rect c; |
563 | struct v4l2_clip *next; | 563 | struct v4l2_clip __user *next; |
564 | }; | 564 | }; |
565 | 565 | ||
566 | struct v4l2_window | 566 | struct v4l2_window |