diff options
author | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-02-25 22:26:14 -0500 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-02-25 22:26:14 -0500 |
commit | 91e229bbad6524aabaac8717b2f559283670c37a (patch) | |
tree | 84a55e4ac2dcf23add97bd9fde3e9cb232c12b30 /include/linux | |
parent | 6e5e93424dc66542c548dfaa3bfebe30d46d50dd (diff) | |
parent | bfa274e2436fc7ef72ef51c878083647f1cfd429 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
Diffstat (limited to 'include/linux')
32 files changed, 149 insertions, 247 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 5cae9b5960ea..aada32fffec2 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -70,7 +70,6 @@ header-y += fuse.h | |||
70 | header-y += genetlink.h | 70 | header-y += genetlink.h |
71 | header-y += gen_stats.h | 71 | header-y += gen_stats.h |
72 | header-y += gigaset_dev.h | 72 | header-y += gigaset_dev.h |
73 | header-y += hdsmart.h | ||
74 | header-y += hysdn_if.h | 73 | header-y += hysdn_if.h |
75 | header-y += i2o-dev.h | 74 | header-y += i2o-dev.h |
76 | header-y += i8k.h | 75 | header-y += i8k.h |
@@ -211,6 +210,7 @@ unifdef-y += hayesesp.h | |||
211 | unifdef-y += hdlcdrv.h | 210 | unifdef-y += hdlcdrv.h |
212 | unifdef-y += hdlc.h | 211 | unifdef-y += hdlc.h |
213 | unifdef-y += hdreg.h | 212 | unifdef-y += hdreg.h |
213 | unifdef-y += hdsmart.h | ||
214 | unifdef-y += hiddev.h | 214 | unifdef-y += hiddev.h |
215 | unifdef-y += hpet.h | 215 | unifdef-y += hpet.h |
216 | unifdef-y += i2c.h | 216 | unifdef-y += i2c.h |
diff --git a/include/linux/aio.h b/include/linux/aio.h index a9931e2e5624..0d0b7f629bd3 100644 --- a/include/linux/aio.h +++ b/include/linux/aio.h | |||
@@ -105,7 +105,6 @@ struct kiocb { | |||
105 | wait_queue_t ki_wait; | 105 | wait_queue_t ki_wait; |
106 | loff_t ki_pos; | 106 | loff_t ki_pos; |
107 | 107 | ||
108 | atomic_t ki_bio_count; /* num bio used for this iocb */ | ||
109 | void *private; | 108 | void *private; |
110 | /* State that we remember to be able to restart/retry */ | 109 | /* State that we remember to be able to restart/retry */ |
111 | unsigned short ki_opcode; | 110 | unsigned short ki_opcode; |
diff --git a/include/linux/ata.h b/include/linux/ata.h index 78bbacaed8c4..1c622e2b0504 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -659,6 +659,11 @@ static inline int atapi_command_packet_set(const u16 *dev_id) | |||
659 | return (dev_id[0] >> 8) & 0x1f; | 659 | return (dev_id[0] >> 8) & 0x1f; |
660 | } | 660 | } |
661 | 661 | ||
662 | static inline int atapi_id_dmadir(const u16 *dev_id) | ||
663 | { | ||
664 | return ata_id_major_version(dev_id) >= 7 && (dev_id[62] & 0x8000); | ||
665 | } | ||
666 | |||
662 | static inline int is_multi_taskfile(struct ata_taskfile *tf) | 667 | static inline int is_multi_taskfile(struct ata_taskfile *tf) |
663 | { | 668 | { |
664 | return (tf->command == ATA_CMD_READ_MULTI) || | 669 | return (tf->command == ATA_CMD_READ_MULTI) || |
diff --git a/include/linux/bio.h b/include/linux/bio.h index 4da441337d6e..4c59bdccd3ee 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -326,7 +326,6 @@ extern struct bio *bio_map_kern(struct request_queue *, void *, unsigned int, | |||
326 | gfp_t); | 326 | gfp_t); |
327 | extern void bio_set_pages_dirty(struct bio *bio); | 327 | extern void bio_set_pages_dirty(struct bio *bio); |
328 | extern void bio_check_pages_dirty(struct bio *bio); | 328 | extern void bio_check_pages_dirty(struct bio *bio); |
329 | extern void bio_release_pages(struct bio *bio); | ||
330 | extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); | 329 | extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); |
331 | extern int bio_uncopy_user(struct bio *); | 330 | extern int bio_uncopy_user(struct bio *); |
332 | void zero_fill_bio(struct bio *bio); | 331 | void zero_fill_bio(struct bio *bio); |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index e1888cc5b8ae..6fe67d1939c2 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -216,6 +216,7 @@ struct request { | |||
216 | unsigned int cmd_len; | 216 | unsigned int cmd_len; |
217 | unsigned char cmd[BLK_MAX_CDB]; | 217 | unsigned char cmd[BLK_MAX_CDB]; |
218 | 218 | ||
219 | unsigned int raw_data_len; | ||
219 | unsigned int data_len; | 220 | unsigned int data_len; |
220 | unsigned int sense_len; | 221 | unsigned int sense_len; |
221 | void *data; | 222 | void *data; |
@@ -258,6 +259,7 @@ struct bio_vec; | |||
258 | typedef int (merge_bvec_fn) (struct request_queue *, struct bio *, struct bio_vec *); | 259 | typedef int (merge_bvec_fn) (struct request_queue *, struct bio *, struct bio_vec *); |
259 | typedef void (prepare_flush_fn) (struct request_queue *, struct request *); | 260 | typedef void (prepare_flush_fn) (struct request_queue *, struct request *); |
260 | typedef void (softirq_done_fn)(struct request *); | 261 | typedef void (softirq_done_fn)(struct request *); |
262 | typedef int (dma_drain_needed_fn)(struct request *); | ||
261 | 263 | ||
262 | enum blk_queue_state { | 264 | enum blk_queue_state { |
263 | Queue_down, | 265 | Queue_down, |
@@ -294,6 +296,7 @@ struct request_queue | |||
294 | merge_bvec_fn *merge_bvec_fn; | 296 | merge_bvec_fn *merge_bvec_fn; |
295 | prepare_flush_fn *prepare_flush_fn; | 297 | prepare_flush_fn *prepare_flush_fn; |
296 | softirq_done_fn *softirq_done_fn; | 298 | softirq_done_fn *softirq_done_fn; |
299 | dma_drain_needed_fn *dma_drain_needed; | ||
297 | 300 | ||
298 | /* | 301 | /* |
299 | * Dispatch queue sorting | 302 | * Dispatch queue sorting |
@@ -698,8 +701,9 @@ extern void blk_queue_max_hw_segments(struct request_queue *, unsigned short); | |||
698 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); | 701 | extern void blk_queue_max_segment_size(struct request_queue *, unsigned int); |
699 | extern void blk_queue_hardsect_size(struct request_queue *, unsigned short); | 702 | extern void blk_queue_hardsect_size(struct request_queue *, unsigned short); |
700 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); | 703 | extern void blk_queue_stack_limits(struct request_queue *t, struct request_queue *b); |
701 | extern int blk_queue_dma_drain(struct request_queue *q, void *buf, | 704 | extern int blk_queue_dma_drain(struct request_queue *q, |
702 | unsigned int size); | 705 | dma_drain_needed_fn *dma_drain_needed, |
706 | void *buf, unsigned int size); | ||
703 | extern void blk_queue_segment_boundary(struct request_queue *, unsigned long); | 707 | extern void blk_queue_segment_boundary(struct request_queue *, unsigned long); |
704 | extern void blk_queue_prep_rq(struct request_queue *, prep_rq_fn *pfn); | 708 | extern void blk_queue_prep_rq(struct request_queue *, prep_rq_fn *pfn); |
705 | extern void blk_queue_merge_bvec(struct request_queue *, merge_bvec_fn *); | 709 | extern void blk_queue_merge_bvec(struct request_queue *, merge_bvec_fn *); |
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index ff9055fc3d2a..028ba3b523b1 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
@@ -175,7 +175,7 @@ struct css_set { | |||
175 | * | 175 | * |
176 | * | 176 | * |
177 | * When reading/writing to a file: | 177 | * When reading/writing to a file: |
178 | * - the cgroup to use in file->f_dentry->d_parent->d_fsdata | 178 | * - the cgroup to use is file->f_dentry->d_parent->d_fsdata |
179 | * - the 'cftype' of the file is file->f_dentry->d_fsdata | 179 | * - the 'cftype' of the file is file->f_dentry->d_fsdata |
180 | */ | 180 | */ |
181 | 181 | ||
@@ -186,15 +186,15 @@ struct cftype { | |||
186 | char name[MAX_CFTYPE_NAME]; | 186 | char name[MAX_CFTYPE_NAME]; |
187 | int private; | 187 | int private; |
188 | int (*open) (struct inode *inode, struct file *file); | 188 | int (*open) (struct inode *inode, struct file *file); |
189 | ssize_t (*read) (struct cgroup *cont, struct cftype *cft, | 189 | ssize_t (*read) (struct cgroup *cgrp, struct cftype *cft, |
190 | struct file *file, | 190 | struct file *file, |
191 | char __user *buf, size_t nbytes, loff_t *ppos); | 191 | char __user *buf, size_t nbytes, loff_t *ppos); |
192 | /* | 192 | /* |
193 | * read_uint() is a shortcut for the common case of returning a | 193 | * read_uint() is a shortcut for the common case of returning a |
194 | * single integer. Use it in place of read() | 194 | * single integer. Use it in place of read() |
195 | */ | 195 | */ |
196 | u64 (*read_uint) (struct cgroup *cont, struct cftype *cft); | 196 | u64 (*read_uint) (struct cgroup *cgrp, struct cftype *cft); |
197 | ssize_t (*write) (struct cgroup *cont, struct cftype *cft, | 197 | ssize_t (*write) (struct cgroup *cgrp, struct cftype *cft, |
198 | struct file *file, | 198 | struct file *file, |
199 | const char __user *buf, size_t nbytes, loff_t *ppos); | 199 | const char __user *buf, size_t nbytes, loff_t *ppos); |
200 | 200 | ||
@@ -203,7 +203,7 @@ struct cftype { | |||
203 | * a single integer (as parsed by simple_strtoull) from | 203 | * a single integer (as parsed by simple_strtoull) from |
204 | * userspace. Use in place of write(); return 0 or error. | 204 | * userspace. Use in place of write(); return 0 or error. |
205 | */ | 205 | */ |
206 | int (*write_uint) (struct cgroup *cont, struct cftype *cft, u64 val); | 206 | int (*write_uint) (struct cgroup *cgrp, struct cftype *cft, u64 val); |
207 | 207 | ||
208 | int (*release) (struct inode *inode, struct file *file); | 208 | int (*release) (struct inode *inode, struct file *file); |
209 | }; | 209 | }; |
@@ -218,41 +218,41 @@ struct cgroup_scanner { | |||
218 | 218 | ||
219 | /* Add a new file to the given cgroup directory. Should only be | 219 | /* Add a new file to the given cgroup directory. Should only be |
220 | * called by subsystems from within a populate() method */ | 220 | * called by subsystems from within a populate() method */ |
221 | int cgroup_add_file(struct cgroup *cont, struct cgroup_subsys *subsys, | 221 | int cgroup_add_file(struct cgroup *cgrp, struct cgroup_subsys *subsys, |
222 | const struct cftype *cft); | 222 | const struct cftype *cft); |
223 | 223 | ||
224 | /* Add a set of new files to the given cgroup directory. Should | 224 | /* Add a set of new files to the given cgroup directory. Should |
225 | * only be called by subsystems from within a populate() method */ | 225 | * only be called by subsystems from within a populate() method */ |
226 | int cgroup_add_files(struct cgroup *cont, | 226 | int cgroup_add_files(struct cgroup *cgrp, |
227 | struct cgroup_subsys *subsys, | 227 | struct cgroup_subsys *subsys, |
228 | const struct cftype cft[], | 228 | const struct cftype cft[], |
229 | int count); | 229 | int count); |
230 | 230 | ||
231 | int cgroup_is_removed(const struct cgroup *cont); | 231 | int cgroup_is_removed(const struct cgroup *cgrp); |
232 | 232 | ||
233 | int cgroup_path(const struct cgroup *cont, char *buf, int buflen); | 233 | int cgroup_path(const struct cgroup *cgrp, char *buf, int buflen); |
234 | 234 | ||
235 | int cgroup_task_count(const struct cgroup *cont); | 235 | int cgroup_task_count(const struct cgroup *cgrp); |
236 | 236 | ||
237 | /* Return true if the cgroup is a descendant of the current cgroup */ | 237 | /* Return true if the cgroup is a descendant of the current cgroup */ |
238 | int cgroup_is_descendant(const struct cgroup *cont); | 238 | int cgroup_is_descendant(const struct cgroup *cgrp); |
239 | 239 | ||
240 | /* Control Group subsystem type. See Documentation/cgroups.txt for details */ | 240 | /* Control Group subsystem type. See Documentation/cgroups.txt for details */ |
241 | 241 | ||
242 | struct cgroup_subsys { | 242 | struct cgroup_subsys { |
243 | struct cgroup_subsys_state *(*create)(struct cgroup_subsys *ss, | 243 | struct cgroup_subsys_state *(*create)(struct cgroup_subsys *ss, |
244 | struct cgroup *cont); | 244 | struct cgroup *cgrp); |
245 | void (*pre_destroy)(struct cgroup_subsys *ss, struct cgroup *cont); | 245 | void (*pre_destroy)(struct cgroup_subsys *ss, struct cgroup *cgrp); |
246 | void (*destroy)(struct cgroup_subsys *ss, struct cgroup *cont); | 246 | void (*destroy)(struct cgroup_subsys *ss, struct cgroup *cgrp); |
247 | int (*can_attach)(struct cgroup_subsys *ss, | 247 | int (*can_attach)(struct cgroup_subsys *ss, |
248 | struct cgroup *cont, struct task_struct *tsk); | 248 | struct cgroup *cgrp, struct task_struct *tsk); |
249 | void (*attach)(struct cgroup_subsys *ss, struct cgroup *cont, | 249 | void (*attach)(struct cgroup_subsys *ss, struct cgroup *cgrp, |
250 | struct cgroup *old_cont, struct task_struct *tsk); | 250 | struct cgroup *old_cgrp, struct task_struct *tsk); |
251 | void (*fork)(struct cgroup_subsys *ss, struct task_struct *task); | 251 | void (*fork)(struct cgroup_subsys *ss, struct task_struct *task); |
252 | void (*exit)(struct cgroup_subsys *ss, struct task_struct *task); | 252 | void (*exit)(struct cgroup_subsys *ss, struct task_struct *task); |
253 | int (*populate)(struct cgroup_subsys *ss, | 253 | int (*populate)(struct cgroup_subsys *ss, |
254 | struct cgroup *cont); | 254 | struct cgroup *cgrp); |
255 | void (*post_clone)(struct cgroup_subsys *ss, struct cgroup *cont); | 255 | void (*post_clone)(struct cgroup_subsys *ss, struct cgroup *cgrp); |
256 | void (*bind)(struct cgroup_subsys *ss, struct cgroup *root); | 256 | void (*bind)(struct cgroup_subsys *ss, struct cgroup *root); |
257 | int subsys_id; | 257 | int subsys_id; |
258 | int active; | 258 | int active; |
@@ -273,9 +273,9 @@ struct cgroup_subsys { | |||
273 | #undef SUBSYS | 273 | #undef SUBSYS |
274 | 274 | ||
275 | static inline struct cgroup_subsys_state *cgroup_subsys_state( | 275 | static inline struct cgroup_subsys_state *cgroup_subsys_state( |
276 | struct cgroup *cont, int subsys_id) | 276 | struct cgroup *cgrp, int subsys_id) |
277 | { | 277 | { |
278 | return cont->subsys[subsys_id]; | 278 | return cgrp->subsys[subsys_id]; |
279 | } | 279 | } |
280 | 280 | ||
281 | static inline struct cgroup_subsys_state *task_subsys_state( | 281 | static inline struct cgroup_subsys_state *task_subsys_state( |
@@ -290,8 +290,6 @@ static inline struct cgroup* task_cgroup(struct task_struct *task, | |||
290 | return task_subsys_state(task, subsys_id)->cgroup; | 290 | return task_subsys_state(task, subsys_id)->cgroup; |
291 | } | 291 | } |
292 | 292 | ||
293 | int cgroup_path(const struct cgroup *cont, char *buf, int buflen); | ||
294 | |||
295 | int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *ss); | 293 | int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *ss); |
296 | 294 | ||
297 | /* A cgroup_iter should be treated as an opaque object */ | 295 | /* A cgroup_iter should be treated as an opaque object */ |
@@ -313,10 +311,10 @@ struct cgroup_iter { | |||
313 | * - cgroup_scan_tasks() holds the css_set_lock when calling the test_task() | 311 | * - cgroup_scan_tasks() holds the css_set_lock when calling the test_task() |
314 | * callback, but not while calling the process_task() callback. | 312 | * callback, but not while calling the process_task() callback. |
315 | */ | 313 | */ |
316 | void cgroup_iter_start(struct cgroup *cont, struct cgroup_iter *it); | 314 | void cgroup_iter_start(struct cgroup *cgrp, struct cgroup_iter *it); |
317 | struct task_struct *cgroup_iter_next(struct cgroup *cont, | 315 | struct task_struct *cgroup_iter_next(struct cgroup *cgrp, |
318 | struct cgroup_iter *it); | 316 | struct cgroup_iter *it); |
319 | void cgroup_iter_end(struct cgroup *cont, struct cgroup_iter *it); | 317 | void cgroup_iter_end(struct cgroup *cgrp, struct cgroup_iter *it); |
320 | int cgroup_scan_tasks(struct cgroup_scanner *scan); | 318 | int cgroup_scan_tasks(struct cgroup_scanner *scan); |
321 | int cgroup_attach_task(struct cgroup *, struct task_struct *); | 319 | int cgroup_attach_task(struct cgroup *, struct task_struct *); |
322 | 320 | ||
diff --git a/include/linux/efs_dir.h b/include/linux/efs_dir.h deleted file mode 100644 index a09ec010569c..000000000000 --- a/include/linux/efs_dir.h +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | /* | ||
2 | * efs_dir.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | */ | ||
6 | |||
7 | #ifndef __EFS_DIR_H__ | ||
8 | #define __EFS_DIR_H__ | ||
9 | |||
10 | #define EFS_DIRBSIZE_BITS EFS_BLOCKSIZE_BITS | ||
11 | #define EFS_DIRBSIZE (1 << EFS_DIRBSIZE_BITS) | ||
12 | |||
13 | struct efs_dentry { | ||
14 | __be32 inode; | ||
15 | unsigned char namelen; | ||
16 | char name[3]; | ||
17 | }; | ||
18 | |||
19 | #define EFS_DENTSIZE (sizeof(struct efs_dentry) - 3 + 1) | ||
20 | #define EFS_MAXNAMELEN ((1 << (sizeof(char) * 8)) - 1) | ||
21 | |||
22 | #define EFS_DIRBLK_HEADERSIZE 4 | ||
23 | #define EFS_DIRBLK_MAGIC 0xbeef /* moo */ | ||
24 | |||
25 | struct efs_dir { | ||
26 | __be16 magic; | ||
27 | unsigned char firstused; | ||
28 | unsigned char slots; | ||
29 | |||
30 | unsigned char space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE]; | ||
31 | }; | ||
32 | |||
33 | #define EFS_MAXENTS \ | ||
34 | ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \ | ||
35 | (EFS_DENTSIZE + sizeof(char))) | ||
36 | |||
37 | #define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot]) | ||
38 | |||
39 | #define EFS_REALOFF(offset) ((offset << 1)) | ||
40 | |||
41 | #endif /* __EFS_DIR_H__ */ | ||
42 | |||
diff --git a/include/linux/efs_fs.h b/include/linux/efs_fs.h deleted file mode 100644 index a695d63a07af..000000000000 --- a/include/linux/efs_fs.h +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | /* | ||
2 | * efs_fs.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | * | ||
6 | * Portions derived from work (c) 1995,1996 Christian Vogelgsang. | ||
7 | */ | ||
8 | |||
9 | #ifndef __EFS_FS_H__ | ||
10 | #define __EFS_FS_H__ | ||
11 | |||
12 | #define EFS_VERSION "1.0a" | ||
13 | |||
14 | static const char cprt[] = "EFS: "EFS_VERSION" - (c) 1999 Al Smith <Al.Smith@aeschi.ch.eu.org>"; | ||
15 | |||
16 | #include <asm/uaccess.h> | ||
17 | |||
18 | /* 1 block is 512 bytes */ | ||
19 | #define EFS_BLOCKSIZE_BITS 9 | ||
20 | #define EFS_BLOCKSIZE (1 << EFS_BLOCKSIZE_BITS) | ||
21 | |||
22 | #include <linux/fs.h> | ||
23 | #include <linux/efs_fs_i.h> | ||
24 | #include <linux/efs_fs_sb.h> | ||
25 | #include <linux/efs_dir.h> | ||
26 | |||
27 | static inline struct efs_inode_info *INODE_INFO(struct inode *inode) | ||
28 | { | ||
29 | return container_of(inode, struct efs_inode_info, vfs_inode); | ||
30 | } | ||
31 | |||
32 | static inline struct efs_sb_info *SUPER_INFO(struct super_block *sb) | ||
33 | { | ||
34 | return sb->s_fs_info; | ||
35 | } | ||
36 | |||
37 | struct statfs; | ||
38 | struct fid; | ||
39 | |||
40 | extern const struct inode_operations efs_dir_inode_operations; | ||
41 | extern const struct file_operations efs_dir_operations; | ||
42 | extern const struct address_space_operations efs_symlink_aops; | ||
43 | |||
44 | extern struct inode *efs_iget(struct super_block *, unsigned long); | ||
45 | extern efs_block_t efs_map_block(struct inode *, efs_block_t); | ||
46 | extern int efs_get_block(struct inode *, sector_t, struct buffer_head *, int); | ||
47 | |||
48 | extern struct dentry *efs_lookup(struct inode *, struct dentry *, struct nameidata *); | ||
49 | extern struct dentry *efs_fh_to_dentry(struct super_block *sb, struct fid *fid, | ||
50 | int fh_len, int fh_type); | ||
51 | extern struct dentry *efs_fh_to_parent(struct super_block *sb, struct fid *fid, | ||
52 | int fh_len, int fh_type); | ||
53 | extern struct dentry *efs_get_parent(struct dentry *); | ||
54 | extern int efs_bmap(struct inode *, int); | ||
55 | |||
56 | #endif /* __EFS_FS_H__ */ | ||
diff --git a/include/linux/efs_fs_i.h b/include/linux/efs_fs_i.h deleted file mode 100644 index 617c474ca659..000000000000 --- a/include/linux/efs_fs_i.h +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | /* | ||
2 | * efs_fs_i.h | ||
3 | * | ||
4 | * Copyright (c) 1999 Al Smith | ||
5 | * | ||
6 | * Portions derived from IRIX header files (c) 1988 Silicon Graphics | ||
7 | */ | ||
8 | |||
9 | #ifndef __EFS_FS_I_H__ | ||
10 | #define __EFS_FS_I_H__ | ||
11 | |||
12 | typedef int32_t efs_block_t; | ||
13 | typedef uint32_t efs_ino_t; | ||
14 | |||
15 | #define EFS_DIRECTEXTENTS 12 | ||
16 | |||
17 | /* | ||
18 | * layout of an extent, in memory and on disk. 8 bytes exactly. | ||
19 | */ | ||
20 | typedef union extent_u { | ||
21 | unsigned char raw[8]; | ||
22 | struct extent_s { | ||
23 | unsigned int ex_magic:8; /* magic # (zero) */ | ||
24 | unsigned int ex_bn:24; /* basic block */ | ||
25 | unsigned int ex_length:8; /* numblocks in this extent */ | ||
26 | unsigned int ex_offset:24; /* logical offset into file */ | ||
27 | } cooked; | ||
28 | } efs_extent; | ||
29 | |||
30 | typedef struct edevs { | ||
31 | __be16 odev; | ||
32 | __be32 ndev; | ||
33 | } efs_devs; | ||
34 | |||
35 | /* | ||
36 | * extent based filesystem inode as it appears on disk. The efs inode | ||
37 | * is exactly 128 bytes long. | ||
38 | */ | ||
39 | struct efs_dinode { | ||
40 | __be16 di_mode; /* mode and type of file */ | ||
41 | __be16 di_nlink; /* number of links to file */ | ||
42 | __be16 di_uid; /* owner's user id */ | ||
43 | __be16 di_gid; /* owner's group id */ | ||
44 | __be32 di_size; /* number of bytes in file */ | ||
45 | __be32 di_atime; /* time last accessed */ | ||
46 | __be32 di_mtime; /* time last modified */ | ||
47 | __be32 di_ctime; /* time created */ | ||
48 | __be32 di_gen; /* generation number */ | ||
49 | __be16 di_numextents; /* # of extents */ | ||
50 | u_char di_version; /* version of inode */ | ||
51 | u_char di_spare; /* spare - used by AFS */ | ||
52 | union di_addr { | ||
53 | efs_extent di_extents[EFS_DIRECTEXTENTS]; | ||
54 | efs_devs di_dev; /* device for IFCHR/IFBLK */ | ||
55 | } di_u; | ||
56 | }; | ||
57 | |||
58 | /* efs inode storage in memory */ | ||
59 | struct efs_inode_info { | ||
60 | int numextents; | ||
61 | int lastextent; | ||
62 | |||
63 | efs_extent extents[EFS_DIRECTEXTENTS]; | ||
64 | struct inode vfs_inode; | ||
65 | }; | ||
66 | |||
67 | #endif /* __EFS_FS_I_H__ */ | ||
68 | |||
diff --git a/include/linux/fs.h b/include/linux/fs.h index 98ffb6ead434..b84b848431f2 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1590,7 +1590,6 @@ extern void bd_set_size(struct block_device *, loff_t size); | |||
1590 | extern void bd_forget(struct inode *inode); | 1590 | extern void bd_forget(struct inode *inode); |
1591 | extern void bdput(struct block_device *); | 1591 | extern void bdput(struct block_device *); |
1592 | extern struct block_device *open_by_devnum(dev_t, unsigned); | 1592 | extern struct block_device *open_by_devnum(dev_t, unsigned); |
1593 | extern const struct address_space_operations def_blk_aops; | ||
1594 | #else | 1593 | #else |
1595 | static inline void bd_forget(struct inode *inode) {} | 1594 | static inline void bd_forget(struct inode *inode) {} |
1596 | #endif | 1595 | #endif |
diff --git a/include/linux/futex.h b/include/linux/futex.h index 90048fb28a38..586ab56a3ec3 100644 --- a/include/linux/futex.h +++ b/include/linux/futex.h | |||
@@ -167,6 +167,7 @@ union futex_key { | |||
167 | #ifdef CONFIG_FUTEX | 167 | #ifdef CONFIG_FUTEX |
168 | extern void exit_robust_list(struct task_struct *curr); | 168 | extern void exit_robust_list(struct task_struct *curr); |
169 | extern void exit_pi_state_list(struct task_struct *curr); | 169 | extern void exit_pi_state_list(struct task_struct *curr); |
170 | extern int futex_cmpxchg_enabled; | ||
170 | #else | 171 | #else |
171 | static inline void exit_robust_list(struct task_struct *curr) | 172 | static inline void exit_robust_list(struct task_struct *curr) |
172 | { | 173 | { |
diff --git a/include/linux/hdsmart.h b/include/linux/hdsmart.h index e69192159d40..4f4faf9d4238 100644 --- a/include/linux/hdsmart.h +++ b/include/linux/hdsmart.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #ifndef _LINUX_HDSMART_H | 17 | #ifndef _LINUX_HDSMART_H |
18 | #define _LINUX_HDSMART_H | 18 | #define _LINUX_HDSMART_H |
19 | 19 | ||
20 | #ifndef __KERNEL | 20 | #ifndef __KERNEL__ |
21 | #define OFFLINE_FULL_SCAN 0 | 21 | #define OFFLINE_FULL_SCAN 0 |
22 | #define SHORT_SELF_TEST 1 | 22 | #define SHORT_SELF_TEST 1 |
23 | #define EXTEND_SELF_TEST 2 | 23 | #define EXTEND_SELF_TEST 2 |
@@ -121,6 +121,6 @@ typedef struct ata_smart_selftestlog_s { | |||
121 | unsigned char resevered[2]; | 121 | unsigned char resevered[2]; |
122 | unsigned char chksum; | 122 | unsigned char chksum; |
123 | } __attribute__ ((packed)) ata_smart_selftestlog_t; | 123 | } __attribute__ ((packed)) ata_smart_selftestlog_t; |
124 | #endif /* __KERNEL__ * | 124 | #endif /* __KERNEL__ */ |
125 | 125 | ||
126 | #endif /* _LINUX_HDSMART_H */ | 126 | #endif /* _LINUX_HDSMART_H */ |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 76014f8f3c60..365e0df3646b 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -271,9 +271,16 @@ extern void i2c_unregister_device(struct i2c_client *); | |||
271 | * This is done at arch_initcall time, before declaring any i2c adapters. | 271 | * This is done at arch_initcall time, before declaring any i2c adapters. |
272 | * Modules for add-on boards must use other calls. | 272 | * Modules for add-on boards must use other calls. |
273 | */ | 273 | */ |
274 | #ifdef CONFIG_I2C_BOARDINFO | ||
274 | extern int | 275 | extern int |
275 | i2c_register_board_info(int busnum, struct i2c_board_info const *info, unsigned n); | 276 | i2c_register_board_info(int busnum, struct i2c_board_info const *info, unsigned n); |
276 | 277 | #else | |
278 | static inline int | ||
279 | i2c_register_board_info(int busnum, struct i2c_board_info const *info, unsigned n) | ||
280 | { | ||
281 | return 0; | ||
282 | } | ||
283 | #endif | ||
277 | 284 | ||
278 | /* | 285 | /* |
279 | * The following structs are for those who like to implement new bus drivers: | 286 | * The following structs are for those who like to implement new bus drivers: |
@@ -598,7 +605,7 @@ I2C_CLIENT_MODULE_PARM(probe, "List of adapter,address pairs to scan " \ | |||
598 | "additionally"); \ | 605 | "additionally"); \ |
599 | I2C_CLIENT_MODULE_PARM(ignore, "List of adapter,address pairs not to " \ | 606 | I2C_CLIENT_MODULE_PARM(ignore, "List of adapter,address pairs not to " \ |
600 | "scan"); \ | 607 | "scan"); \ |
601 | const static struct i2c_client_address_data addr_data = { \ | 608 | static const struct i2c_client_address_data addr_data = { \ |
602 | .normal_i2c = normal_i2c, \ | 609 | .normal_i2c = normal_i2c, \ |
603 | .probe = probe, \ | 610 | .probe = probe, \ |
604 | .ignore = ignore, \ | 611 | .ignore = ignore, \ |
diff --git a/include/linux/init.h b/include/linux/init.h index a404a0055dd7..fb58c0493cf2 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -42,6 +42,7 @@ | |||
42 | discard it in modules) */ | 42 | discard it in modules) */ |
43 | #define __init __section(.init.text) __cold | 43 | #define __init __section(.init.text) __cold |
44 | #define __initdata __section(.init.data) | 44 | #define __initdata __section(.init.data) |
45 | #define __initconst __section(.init.rodata) | ||
45 | #define __exitdata __section(.exit.data) | 46 | #define __exitdata __section(.exit.data) |
46 | #define __exit_call __used __section(.exitcall.exit) | 47 | #define __exit_call __used __section(.exitcall.exit) |
47 | 48 | ||
@@ -106,6 +107,7 @@ | |||
106 | #define __memexitconst __section(.memexit.rodata) | 107 | #define __memexitconst __section(.memexit.rodata) |
107 | 108 | ||
108 | /* For assembly routines */ | 109 | /* For assembly routines */ |
110 | #define __HEAD .section ".head.text","ax" | ||
109 | #define __INIT .section ".init.text","ax" | 111 | #define __INIT .section ".init.text","ax" |
110 | #define __FINIT .previous | 112 | #define __FINIT .previous |
111 | 113 | ||
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index 593b222d9dcc..1b4ccf25b4d2 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
@@ -50,6 +50,7 @@ struct cfq_io_context { | |||
50 | sector_t seek_mean; | 50 | sector_t seek_mean; |
51 | 51 | ||
52 | struct list_head queue_list; | 52 | struct list_head queue_list; |
53 | struct hlist_node cic_list; | ||
53 | 54 | ||
54 | void (*dtor)(struct io_context *); /* destructor */ | 55 | void (*dtor)(struct io_context *); /* destructor */ |
55 | void (*exit)(struct io_context *); /* called on task exit */ | 56 | void (*exit)(struct io_context *); /* called on task exit */ |
@@ -77,6 +78,7 @@ struct io_context { | |||
77 | 78 | ||
78 | struct as_io_context *aic; | 79 | struct as_io_context *aic; |
79 | struct radix_tree_root radix_root; | 80 | struct radix_tree_root radix_root; |
81 | struct hlist_head cic_list; | ||
80 | void *ioc_data; | 82 | void *ioc_data; |
81 | }; | 83 | }; |
82 | 84 | ||
diff --git a/include/linux/libata.h b/include/linux/libata.h index bc5a8d0c7090..a05f60013642 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -138,6 +138,7 @@ enum { | |||
138 | ATA_DFLAG_AN = (1 << 7), /* AN configured */ | 138 | ATA_DFLAG_AN = (1 << 7), /* AN configured */ |
139 | ATA_DFLAG_HIPM = (1 << 8), /* device supports HIPM */ | 139 | ATA_DFLAG_HIPM = (1 << 8), /* device supports HIPM */ |
140 | ATA_DFLAG_DIPM = (1 << 9), /* device supports DIPM */ | 140 | ATA_DFLAG_DIPM = (1 << 9), /* device supports DIPM */ |
141 | ATA_DFLAG_DMADIR = (1 << 10), /* device requires DMADIR */ | ||
141 | ATA_DFLAG_CFG_MASK = (1 << 12) - 1, | 142 | ATA_DFLAG_CFG_MASK = (1 << 12) - 1, |
142 | 143 | ||
143 | ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */ | 144 | ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */ |
@@ -278,7 +279,6 @@ enum { | |||
278 | 279 | ||
279 | /* size of buffer to pad xfers ending on unaligned boundaries */ | 280 | /* size of buffer to pad xfers ending on unaligned boundaries */ |
280 | ATA_DMA_PAD_SZ = 4, | 281 | ATA_DMA_PAD_SZ = 4, |
281 | ATA_DMA_PAD_BUF_SZ = ATA_DMA_PAD_SZ * ATA_MAX_QUEUE, | ||
282 | 282 | ||
283 | /* ering size */ | 283 | /* ering size */ |
284 | ATA_ERING_SIZE = 32, | 284 | ATA_ERING_SIZE = 32, |
@@ -457,24 +457,18 @@ struct ata_queued_cmd { | |||
457 | unsigned long flags; /* ATA_QCFLAG_xxx */ | 457 | unsigned long flags; /* ATA_QCFLAG_xxx */ |
458 | unsigned int tag; | 458 | unsigned int tag; |
459 | unsigned int n_elem; | 459 | unsigned int n_elem; |
460 | unsigned int mapped_n_elem; | ||
461 | 460 | ||
462 | int dma_dir; | 461 | int dma_dir; |
463 | 462 | ||
464 | unsigned int pad_len; | ||
465 | unsigned int sect_size; | 463 | unsigned int sect_size; |
466 | 464 | ||
467 | unsigned int nbytes; | 465 | unsigned int nbytes; |
468 | unsigned int raw_nbytes; | ||
469 | unsigned int curbytes; | 466 | unsigned int curbytes; |
470 | 467 | ||
471 | struct scatterlist *cursg; | 468 | struct scatterlist *cursg; |
472 | unsigned int cursg_ofs; | 469 | unsigned int cursg_ofs; |
473 | 470 | ||
474 | struct scatterlist *last_sg; | ||
475 | struct scatterlist saved_last_sg; | ||
476 | struct scatterlist sgent; | 471 | struct scatterlist sgent; |
477 | struct scatterlist extra_sg[2]; | ||
478 | 472 | ||
479 | struct scatterlist *sg; | 473 | struct scatterlist *sg; |
480 | 474 | ||
@@ -619,9 +613,6 @@ struct ata_port { | |||
619 | struct ata_prd *prd; /* our SG list */ | 613 | struct ata_prd *prd; /* our SG list */ |
620 | dma_addr_t prd_dma; /* and its DMA mapping */ | 614 | dma_addr_t prd_dma; /* and its DMA mapping */ |
621 | 615 | ||
622 | void *pad; /* array of DMA pad buffers */ | ||
623 | dma_addr_t pad_dma; | ||
624 | |||
625 | struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ | 616 | struct ata_ioports ioaddr; /* ATA cmd/ctl/dma register blocks */ |
626 | 617 | ||
627 | u8 ctl; /* cache of ATA control register */ | 618 | u8 ctl; /* cache of ATA control register */ |
@@ -1207,7 +1198,7 @@ static inline struct ata_link *ata_port_next_link(struct ata_link *link) | |||
1207 | return ap->pmp_link; | 1198 | return ap->pmp_link; |
1208 | } | 1199 | } |
1209 | 1200 | ||
1210 | if (++link - ap->pmp_link < ap->nr_pmp_links) | 1201 | if (++link < ap->nr_pmp_links + ap->pmp_link) |
1211 | return link; | 1202 | return link; |
1212 | return NULL; | 1203 | return NULL; |
1213 | } | 1204 | } |
@@ -1363,12 +1354,9 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc) | |||
1363 | qc->flags = 0; | 1354 | qc->flags = 0; |
1364 | qc->cursg = NULL; | 1355 | qc->cursg = NULL; |
1365 | qc->cursg_ofs = 0; | 1356 | qc->cursg_ofs = 0; |
1366 | qc->nbytes = qc->raw_nbytes = qc->curbytes = 0; | 1357 | qc->nbytes = qc->curbytes = 0; |
1367 | qc->n_elem = 0; | 1358 | qc->n_elem = 0; |
1368 | qc->mapped_n_elem = 0; | ||
1369 | qc->err_mask = 0; | 1359 | qc->err_mask = 0; |
1370 | qc->pad_len = 0; | ||
1371 | qc->last_sg = NULL; | ||
1372 | qc->sect_size = ATA_SECT_SIZE; | 1360 | qc->sect_size = ATA_SECT_SIZE; |
1373 | 1361 | ||
1374 | ata_tf_init(qc->dev, &qc->tf); | 1362 | ata_tf_init(qc->dev, &qc->tf); |
@@ -1423,19 +1411,6 @@ static inline unsigned int __ac_err_mask(u8 status) | |||
1423 | return mask; | 1411 | return mask; |
1424 | } | 1412 | } |
1425 | 1413 | ||
1426 | static inline int ata_pad_alloc(struct ata_port *ap, struct device *dev) | ||
1427 | { | ||
1428 | ap->pad_dma = 0; | ||
1429 | ap->pad = dmam_alloc_coherent(dev, ATA_DMA_PAD_BUF_SZ, | ||
1430 | &ap->pad_dma, GFP_KERNEL); | ||
1431 | return (ap->pad == NULL) ? -ENOMEM : 0; | ||
1432 | } | ||
1433 | |||
1434 | static inline void ata_pad_free(struct ata_port *ap, struct device *dev) | ||
1435 | { | ||
1436 | dmam_free_coherent(dev, ATA_DMA_PAD_BUF_SZ, ap->pad, ap->pad_dma); | ||
1437 | } | ||
1438 | |||
1439 | static inline struct ata_port *ata_shost_to_port(struct Scsi_Host *host) | 1414 | static inline struct ata_port *ata_shost_to_port(struct Scsi_Host *host) |
1440 | { | 1415 | { |
1441 | return *(struct ata_port **)&host->hostdata[0]; | 1416 | return *(struct ata_port **)&host->hostdata[0]; |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 925d57b236aa..04075628cb9a 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -20,9 +20,6 @@ | |||
20 | #ifndef _LINUX_MEMCONTROL_H | 20 | #ifndef _LINUX_MEMCONTROL_H |
21 | #define _LINUX_MEMCONTROL_H | 21 | #define _LINUX_MEMCONTROL_H |
22 | 22 | ||
23 | #include <linux/rcupdate.h> | ||
24 | #include <linux/mm.h> | ||
25 | |||
26 | struct mem_cgroup; | 23 | struct mem_cgroup; |
27 | struct page_cgroup; | 24 | struct page_cgroup; |
28 | struct page; | 25 | struct page; |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 26c7124b841a..3f3ccfe42de0 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -235,6 +235,7 @@ static inline int get_page_unless_zero(struct page *page) | |||
235 | struct page *vmalloc_to_page(const void *addr); | 235 | struct page *vmalloc_to_page(const void *addr); |
236 | unsigned long vmalloc_to_pfn(const void *addr); | 236 | unsigned long vmalloc_to_pfn(const void *addr); |
237 | 237 | ||
238 | #ifdef CONFIG_MMU | ||
238 | /* Determine if an address is within the vmalloc range */ | 239 | /* Determine if an address is within the vmalloc range */ |
239 | static inline int is_vmalloc_addr(const void *x) | 240 | static inline int is_vmalloc_addr(const void *x) |
240 | { | 241 | { |
@@ -242,6 +243,7 @@ static inline int is_vmalloc_addr(const void *x) | |||
242 | 243 | ||
243 | return addr >= VMALLOC_START && addr < VMALLOC_END; | 244 | return addr >= VMALLOC_START && addr < VMALLOC_END; |
244 | } | 245 | } |
246 | #endif | ||
245 | 247 | ||
246 | static inline struct page *compound_head(struct page *page) | 248 | static inline struct page *compound_head(struct page *page) |
247 | { | 249 | { |
@@ -1171,12 +1173,18 @@ static inline void enable_debug_pagealloc(void) | |||
1171 | { | 1173 | { |
1172 | debug_pagealloc_enabled = 1; | 1174 | debug_pagealloc_enabled = 1; |
1173 | } | 1175 | } |
1176 | #ifdef CONFIG_HIBERNATION | ||
1177 | extern bool kernel_page_present(struct page *page); | ||
1178 | #endif /* CONFIG_HIBERNATION */ | ||
1174 | #else | 1179 | #else |
1175 | static inline void | 1180 | static inline void |
1176 | kernel_map_pages(struct page *page, int numpages, int enable) {} | 1181 | kernel_map_pages(struct page *page, int numpages, int enable) {} |
1177 | static inline void enable_debug_pagealloc(void) | 1182 | static inline void enable_debug_pagealloc(void) |
1178 | { | 1183 | { |
1179 | } | 1184 | } |
1185 | #ifdef CONFIG_HIBERNATION | ||
1186 | static inline bool kernel_page_present(struct page *page) { return true; } | ||
1187 | #endif /* CONFIG_HIBERNATION */ | ||
1180 | #endif | 1188 | #endif |
1181 | 1189 | ||
1182 | extern struct vm_area_struct *get_gate_vma(struct task_struct *tsk); | 1190 | extern struct vm_area_struct *get_gate_vma(struct task_struct *tsk); |
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index d74e79bacd2d..b74b615492e8 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
@@ -51,7 +51,7 @@ enum nf_inet_hooks { | |||
51 | }; | 51 | }; |
52 | 52 | ||
53 | union nf_inet_addr { | 53 | union nf_inet_addr { |
54 | u_int32_t all[4]; | 54 | __u32 all[4]; |
55 | __be32 ip; | 55 | __be32 ip; |
56 | __be32 ip6[4]; | 56 | __be32 ip6[4]; |
57 | struct in_addr in; | 57 | struct in_addr in; |
diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild index 91fef0cae42f..3aff513d12c8 100644 --- a/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild | |||
@@ -30,7 +30,6 @@ header-y += xt_mark.h | |||
30 | header-y += xt_multiport.h | 30 | header-y += xt_multiport.h |
31 | header-y += xt_owner.h | 31 | header-y += xt_owner.h |
32 | header-y += xt_pkttype.h | 32 | header-y += xt_pkttype.h |
33 | header-y += xt_policy.h | ||
34 | header-y += xt_rateest.h | 33 | header-y += xt_rateest.h |
35 | header-y += xt_realm.h | 34 | header-y += xt_realm.h |
36 | header-y += xt_sctp.h | 35 | header-y += xt_sctp.h |
@@ -47,3 +46,4 @@ unifdef-y += nfnetlink.h | |||
47 | unifdef-y += nfnetlink_compat.h | 46 | unifdef-y += nfnetlink_compat.h |
48 | unifdef-y += x_tables.h | 47 | unifdef-y += x_tables.h |
49 | unifdef-y += xt_physdev.h | 48 | unifdef-y += xt_physdev.h |
49 | unifdef-y += xt_policy.h | ||
diff --git a/include/linux/netfilter/xt_hashlimit.h b/include/linux/netfilter/xt_hashlimit.h index 58b818ee41ca..51b18d83b477 100644 --- a/include/linux/netfilter/xt_hashlimit.h +++ b/include/linux/netfilter/xt_hashlimit.h | |||
@@ -61,7 +61,6 @@ struct xt_hashlimit_mtinfo1 { | |||
61 | 61 | ||
62 | /* Used internally by the kernel */ | 62 | /* Used internally by the kernel */ |
63 | struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); | 63 | struct xt_hashlimit_htable *hinfo __attribute__((aligned(8))); |
64 | struct xt_hashlimit_mtinfo1 *master __attribute__((aligned(8))); | ||
65 | }; | 64 | }; |
66 | 65 | ||
67 | #endif /*_XT_HASHLIMIT_H*/ | 66 | #endif /*_XT_HASHLIMIT_H*/ |
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index bbad43fb8181..b5b30f1c1e59 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -266,7 +266,7 @@ static inline void SetPageUptodate(struct page *page) | |||
266 | 266 | ||
267 | #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) | 267 | #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) |
268 | 268 | ||
269 | #define PageTail(page) ((page->flags & PG_head_tail_mask) \ | 269 | #define PageTail(page) (((page)->flags & PG_head_tail_mask) \ |
270 | == PG_head_tail_mask) | 270 | == PG_head_tail_mask) |
271 | 271 | ||
272 | static inline void __SetPageTail(struct page *page) | 272 | static inline void __SetPageTail(struct page *page) |
@@ -279,7 +279,7 @@ static inline void __ClearPageTail(struct page *page) | |||
279 | page->flags &= ~PG_head_tail_mask; | 279 | page->flags &= ~PG_head_tail_mask; |
280 | } | 280 | } |
281 | 281 | ||
282 | #define PageHead(page) ((page->flags & PG_head_tail_mask) \ | 282 | #define PageHead(page) (((page)->flags & PG_head_tail_mask) \ |
283 | == (1L << PG_compound)) | 283 | == (1L << PG_compound)) |
284 | #define __SetPageHead(page) __SetPageCompound(page) | 284 | #define __SetPageHead(page) __SetPageCompound(page) |
285 | #define __ClearPageHead(page) __ClearPageCompound(page) | 285 | #define __ClearPageHead(page) __ClearPageCompound(page) |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index df6dd79a0d3b..effdb558a588 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1351,6 +1351,7 @@ | |||
1351 | #define PCI_DEVICE_ID_VIA_8231_4 0x8235 | 1351 | #define PCI_DEVICE_ID_VIA_8231_4 0x8235 |
1352 | #define PCI_DEVICE_ID_VIA_8365_1 0x8305 | 1352 | #define PCI_DEVICE_ID_VIA_8365_1 0x8305 |
1353 | #define PCI_DEVICE_ID_VIA_CX700 0x8324 | 1353 | #define PCI_DEVICE_ID_VIA_CX700 0x8324 |
1354 | #define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581 | ||
1354 | #define PCI_DEVICE_ID_VIA_VX800 0x8353 | 1355 | #define PCI_DEVICE_ID_VIA_VX800 0x8353 |
1355 | #define PCI_DEVICE_ID_VIA_8371_1 0x8391 | 1356 | #define PCI_DEVICE_ID_VIA_8371_1 0x8391 |
1356 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 | 1357 | #define PCI_DEVICE_ID_VIA_82C598_1 0x8598 |
@@ -2373,6 +2374,12 @@ | |||
2373 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a | 2374 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a |
2374 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e | 2375 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e |
2375 | #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b | 2376 | #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b |
2377 | #define PCI_DEVICE_ID_INTEL_ICH10_0 0x3a14 | ||
2378 | #define PCI_DEVICE_ID_INTEL_ICH10_1 0x3a16 | ||
2379 | #define PCI_DEVICE_ID_INTEL_ICH10_2 0x3a18 | ||
2380 | #define PCI_DEVICE_ID_INTEL_ICH10_3 0x3a1a | ||
2381 | #define PCI_DEVICE_ID_INTEL_ICH10_4 0x3a30 | ||
2382 | #define PCI_DEVICE_ID_INTEL_ICH10_5 0x3a60 | ||
2376 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f | 2383 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f |
2377 | #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff | 2384 | #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff |
2378 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 | 2385 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 |
diff --git a/include/linux/pm.h b/include/linux/pm.h index eccf59ea2a77..015b735811b4 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
@@ -143,6 +143,9 @@ typedef struct pm_message { | |||
143 | * the upcoming system state (such as PCI_D3hot), and enable | 143 | * the upcoming system state (such as PCI_D3hot), and enable |
144 | * wakeup events as appropriate. | 144 | * wakeup events as appropriate. |
145 | * | 145 | * |
146 | * HIBERNATE Enter a low power device state appropriate for the hibernation | ||
147 | * state (eg. ACPI S4) and enable wakeup events as appropriate. | ||
148 | * | ||
146 | * FREEZE Quiesce operations so that a consistent image can be saved; | 149 | * FREEZE Quiesce operations so that a consistent image can be saved; |
147 | * but do NOT otherwise enter a low power device state, and do | 150 | * but do NOT otherwise enter a low power device state, and do |
148 | * NOT emit system wakeup events. | 151 | * NOT emit system wakeup events. |
@@ -166,11 +169,15 @@ typedef struct pm_message { | |||
166 | #define PM_EVENT_ON 0 | 169 | #define PM_EVENT_ON 0 |
167 | #define PM_EVENT_FREEZE 1 | 170 | #define PM_EVENT_FREEZE 1 |
168 | #define PM_EVENT_SUSPEND 2 | 171 | #define PM_EVENT_SUSPEND 2 |
169 | #define PM_EVENT_PRETHAW 3 | 172 | #define PM_EVENT_HIBERNATE 4 |
173 | #define PM_EVENT_PRETHAW 8 | ||
174 | |||
175 | #define PM_EVENT_SLEEP (PM_EVENT_SUSPEND | PM_EVENT_HIBERNATE) | ||
170 | 176 | ||
171 | #define PMSG_FREEZE ((struct pm_message){ .event = PM_EVENT_FREEZE, }) | 177 | #define PMSG_FREEZE ((struct pm_message){ .event = PM_EVENT_FREEZE, }) |
172 | #define PMSG_PRETHAW ((struct pm_message){ .event = PM_EVENT_PRETHAW, }) | 178 | #define PMSG_PRETHAW ((struct pm_message){ .event = PM_EVENT_PRETHAW, }) |
173 | #define PMSG_SUSPEND ((struct pm_message){ .event = PM_EVENT_SUSPEND, }) | 179 | #define PMSG_SUSPEND ((struct pm_message){ .event = PM_EVENT_SUSPEND, }) |
180 | #define PMSG_HIBERNATE ((struct pm_message){ .event = PM_EVENT_HIBERNATE, }) | ||
174 | #define PMSG_ON ((struct pm_message){ .event = PM_EVENT_ON, }) | 181 | #define PMSG_ON ((struct pm_message){ .event = PM_EVENT_ON, }) |
175 | 182 | ||
176 | struct dev_pm_info { | 183 | struct dev_pm_info { |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 412672a79e8a..bbd8d0027e2f 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -232,6 +232,8 @@ typedef unsigned char *sk_buff_data_t; | |||
232 | * @mark: Generic packet mark | 232 | * @mark: Generic packet mark |
233 | * @nfct: Associated connection, if any | 233 | * @nfct: Associated connection, if any |
234 | * @ipvs_property: skbuff is owned by ipvs | 234 | * @ipvs_property: skbuff is owned by ipvs |
235 | * @peeked: this packet has been seen already, so stats have been | ||
236 | * done for it, don't do them again | ||
235 | * @nf_trace: netfilter packet trace flag | 237 | * @nf_trace: netfilter packet trace flag |
236 | * @nfctinfo: Relationship of this skb to the connection | 238 | * @nfctinfo: Relationship of this skb to the connection |
237 | * @nfct_reasm: netfilter conntrack re-assembly pointer | 239 | * @nfct_reasm: netfilter conntrack re-assembly pointer |
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h index 9d5da8b2ccf9..20add65215af 100644 --- a/include/linux/ssb/ssb.h +++ b/include/linux/ssb/ssb.h | |||
@@ -282,6 +282,13 @@ struct ssb_bus { | |||
282 | struct ssb_boardinfo boardinfo; | 282 | struct ssb_boardinfo boardinfo; |
283 | /* Contents of the SPROM. */ | 283 | /* Contents of the SPROM. */ |
284 | struct ssb_sprom sprom; | 284 | struct ssb_sprom sprom; |
285 | /* If the board has a cardbus slot, this is set to true. */ | ||
286 | bool has_cardbus_slot; | ||
287 | |||
288 | #ifdef CONFIG_SSB_EMBEDDED | ||
289 | /* Lock for GPIO register access. */ | ||
290 | spinlock_t gpio_lock; | ||
291 | #endif /* EMBEDDED */ | ||
285 | 292 | ||
286 | /* Internal-only stuff follows. Do not touch. */ | 293 | /* Internal-only stuff follows. Do not touch. */ |
287 | struct list_head list; | 294 | struct list_head list; |
@@ -294,8 +301,13 @@ struct ssb_bus { | |||
294 | 301 | ||
295 | /* The initialization-invariants. */ | 302 | /* The initialization-invariants. */ |
296 | struct ssb_init_invariants { | 303 | struct ssb_init_invariants { |
304 | /* Versioning information about the PCB. */ | ||
297 | struct ssb_boardinfo boardinfo; | 305 | struct ssb_boardinfo boardinfo; |
306 | /* The SPROM information. That's either stored in an | ||
307 | * EEPROM or NVRAM on the board. */ | ||
298 | struct ssb_sprom sprom; | 308 | struct ssb_sprom sprom; |
309 | /* If the board has a cardbus slot, this is set to true. */ | ||
310 | bool has_cardbus_slot; | ||
299 | }; | 311 | }; |
300 | /* Type of function to fetch the invariants. */ | 312 | /* Type of function to fetch the invariants. */ |
301 | typedef int (*ssb_invariants_func_t)(struct ssb_bus *bus, | 313 | typedef int (*ssb_invariants_func_t)(struct ssb_bus *bus, |
diff --git a/include/linux/ssb/ssb_driver_chipcommon.h b/include/linux/ssb/ssb_driver_chipcommon.h index 4cb995494662..536851b946f6 100644 --- a/include/linux/ssb/ssb_driver_chipcommon.h +++ b/include/linux/ssb/ssb_driver_chipcommon.h | |||
@@ -51,9 +51,12 @@ | |||
51 | #define SSB_CHIPCO_CAP_JTAGM 0x00400000 /* JTAG master present */ | 51 | #define SSB_CHIPCO_CAP_JTAGM 0x00400000 /* JTAG master present */ |
52 | #define SSB_CHIPCO_CAP_BROM 0x00800000 /* Internal boot ROM active */ | 52 | #define SSB_CHIPCO_CAP_BROM 0x00800000 /* Internal boot ROM active */ |
53 | #define SSB_CHIPCO_CAP_64BIT 0x08000000 /* 64-bit Backplane */ | 53 | #define SSB_CHIPCO_CAP_64BIT 0x08000000 /* 64-bit Backplane */ |
54 | #define SSB_CHIPCO_CAP_PMU 0x10000000 /* PMU available (rev >= 20) */ | ||
55 | #define SSB_CHIPCO_CAP_ECI 0x20000000 /* ECI available (rev >= 20) */ | ||
54 | #define SSB_CHIPCO_CORECTL 0x0008 | 56 | #define SSB_CHIPCO_CORECTL 0x0008 |
55 | #define SSB_CHIPCO_CORECTL_UARTCLK0 0x00000001 /* Drive UART with internal clock */ | 57 | #define SSB_CHIPCO_CORECTL_UARTCLK0 0x00000001 /* Drive UART with internal clock */ |
56 | #define SSB_CHIPCO_CORECTL_SE 0x00000002 /* sync clk out enable (corerev >= 3) */ | 58 | #define SSB_CHIPCO_CORECTL_SE 0x00000002 /* sync clk out enable (corerev >= 3) */ |
59 | #define SSB_CHIPCO_CORECTL_UARTCLKEN 0x00000008 /* UART clock enable (rev >= 21) */ | ||
57 | #define SSB_CHIPCO_BIST 0x000C | 60 | #define SSB_CHIPCO_BIST 0x000C |
58 | #define SSB_CHIPCO_OTPS 0x0010 /* OTP status */ | 61 | #define SSB_CHIPCO_OTPS 0x0010 /* OTP status */ |
59 | #define SSB_CHIPCO_OTPS_PROGFAIL 0x80000000 | 62 | #define SSB_CHIPCO_OTPS_PROGFAIL 0x80000000 |
@@ -357,6 +360,11 @@ struct ssb_chipcommon { | |||
357 | u16 fast_pwrup_delay; | 360 | u16 fast_pwrup_delay; |
358 | }; | 361 | }; |
359 | 362 | ||
363 | static inline bool ssb_chipco_available(struct ssb_chipcommon *cc) | ||
364 | { | ||
365 | return (cc->dev != NULL); | ||
366 | } | ||
367 | |||
360 | extern void ssb_chipcommon_init(struct ssb_chipcommon *cc); | 368 | extern void ssb_chipcommon_init(struct ssb_chipcommon *cc); |
361 | 369 | ||
362 | #include <linux/pm.h> | 370 | #include <linux/pm.h> |
@@ -382,11 +390,13 @@ extern void ssb_chipco_set_clockmode(struct ssb_chipcommon *cc, | |||
382 | extern void ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, | 390 | extern void ssb_chipco_watchdog_timer_set(struct ssb_chipcommon *cc, |
383 | u32 ticks); | 391 | u32 ticks); |
384 | 392 | ||
393 | /* Chipcommon GPIO pin access. */ | ||
385 | u32 ssb_chipco_gpio_in(struct ssb_chipcommon *cc, u32 mask); | 394 | u32 ssb_chipco_gpio_in(struct ssb_chipcommon *cc, u32 mask); |
386 | 395 | u32 ssb_chipco_gpio_out(struct ssb_chipcommon *cc, u32 mask, u32 value); | |
387 | void ssb_chipco_gpio_out(struct ssb_chipcommon *cc, u32 mask, u32 value); | 396 | u32 ssb_chipco_gpio_outen(struct ssb_chipcommon *cc, u32 mask, u32 value); |
388 | 397 | u32 ssb_chipco_gpio_control(struct ssb_chipcommon *cc, u32 mask, u32 value); | |
389 | void ssb_chipco_gpio_outen(struct ssb_chipcommon *cc, u32 mask, u32 value); | 398 | u32 ssb_chipco_gpio_intmask(struct ssb_chipcommon *cc, u32 mask, u32 value); |
399 | u32 ssb_chipco_gpio_polarity(struct ssb_chipcommon *cc, u32 mask, u32 value); | ||
390 | 400 | ||
391 | #ifdef CONFIG_SSB_SERIAL | 401 | #ifdef CONFIG_SSB_SERIAL |
392 | extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc, | 402 | extern int ssb_chipco_serial_init(struct ssb_chipcommon *cc, |
diff --git a/include/linux/ssb/ssb_driver_extif.h b/include/linux/ssb/ssb_driver_extif.h index a9164357b5ae..91161f0aa22b 100644 --- a/include/linux/ssb/ssb_driver_extif.h +++ b/include/linux/ssb/ssb_driver_extif.h | |||
@@ -171,11 +171,15 @@ extern void ssb_extif_get_clockcontrol(struct ssb_extif *extif, | |||
171 | extern void ssb_extif_timing_init(struct ssb_extif *extif, | 171 | extern void ssb_extif_timing_init(struct ssb_extif *extif, |
172 | unsigned long ns); | 172 | unsigned long ns); |
173 | 173 | ||
174 | u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask); | 174 | extern void ssb_extif_watchdog_timer_set(struct ssb_extif *extif, |
175 | 175 | u32 ticks); | |
176 | void ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask, u32 value); | ||
177 | 176 | ||
178 | void ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask, u32 value); | 177 | /* Extif GPIO pin access */ |
178 | u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask); | ||
179 | u32 ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask, u32 value); | ||
180 | u32 ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask, u32 value); | ||
181 | u32 ssb_extif_gpio_polarity(struct ssb_extif *extif, u32 mask, u32 value); | ||
182 | u32 ssb_extif_gpio_intmask(struct ssb_extif *extif, u32 mask, u32 value); | ||
179 | 183 | ||
180 | #ifdef CONFIG_SSB_SERIAL | 184 | #ifdef CONFIG_SSB_SERIAL |
181 | extern int ssb_extif_serial_init(struct ssb_extif *extif, | 185 | extern int ssb_extif_serial_init(struct ssb_extif *extif, |
@@ -200,5 +204,11 @@ void ssb_extif_get_clockcontrol(struct ssb_extif *extif, | |||
200 | { | 204 | { |
201 | } | 205 | } |
202 | 206 | ||
207 | static inline | ||
208 | void ssb_extif_watchdog_timer_set(struct ssb_extif *extif, | ||
209 | u32 ticks) | ||
210 | { | ||
211 | } | ||
212 | |||
203 | #endif /* CONFIG_SSB_DRIVER_EXTIF */ | 213 | #endif /* CONFIG_SSB_DRIVER_EXTIF */ |
204 | #endif /* LINUX_SSB_EXTIFCORE_H_ */ | 214 | #endif /* LINUX_SSB_EXTIFCORE_H_ */ |
diff --git a/include/linux/ssb/ssb_driver_pci.h b/include/linux/ssb/ssb_driver_pci.h index 9cfffb7b1a27..5e25bac4ed31 100644 --- a/include/linux/ssb/ssb_driver_pci.h +++ b/include/linux/ssb/ssb_driver_pci.h | |||
@@ -51,6 +51,11 @@ | |||
51 | #define SSB_PCICORE_SBTOPCI1_MASK 0xFC000000 | 51 | #define SSB_PCICORE_SBTOPCI1_MASK 0xFC000000 |
52 | #define SSB_PCICORE_SBTOPCI2 0x0108 /* Backplane to PCI translation 2 (sbtopci2) */ | 52 | #define SSB_PCICORE_SBTOPCI2 0x0108 /* Backplane to PCI translation 2 (sbtopci2) */ |
53 | #define SSB_PCICORE_SBTOPCI2_MASK 0xC0000000 | 53 | #define SSB_PCICORE_SBTOPCI2_MASK 0xC0000000 |
54 | #define SSB_PCICORE_PCICFG0 0x0400 /* PCI config space 0 (rev >= 8) */ | ||
55 | #define SSB_PCICORE_PCICFG1 0x0500 /* PCI config space 1 (rev >= 8) */ | ||
56 | #define SSB_PCICORE_PCICFG2 0x0600 /* PCI config space 2 (rev >= 8) */ | ||
57 | #define SSB_PCICORE_PCICFG3 0x0700 /* PCI config space 3 (rev >= 8) */ | ||
58 | #define SSB_PCICORE_SPROM(wordoffset) (0x0800 + ((wordoffset) * 2)) /* SPROM shadow area (72 bytes) */ | ||
54 | 59 | ||
55 | /* SBtoPCIx */ | 60 | /* SBtoPCIx */ |
56 | #define SSB_PCICORE_SBTOPCI_MEM 0x00000000 | 61 | #define SSB_PCICORE_SBTOPCI_MEM 0x00000000 |
diff --git a/include/linux/ssb/ssb_embedded.h b/include/linux/ssb/ssb_embedded.h new file mode 100644 index 000000000000..8d8dedff059d --- /dev/null +++ b/include/linux/ssb/ssb_embedded.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef LINUX_SSB_EMBEDDED_H_ | ||
2 | #define LINUX_SSB_EMBEDDED_H_ | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | #include <linux/ssb/ssb.h> | ||
6 | |||
7 | |||
8 | extern int ssb_watchdog_timer_set(struct ssb_bus *bus, u32 ticks); | ||
9 | |||
10 | /* Generic GPIO API */ | ||
11 | u32 ssb_gpio_in(struct ssb_bus *bus, u32 mask); | ||
12 | u32 ssb_gpio_out(struct ssb_bus *bus, u32 mask, u32 value); | ||
13 | u32 ssb_gpio_outen(struct ssb_bus *bus, u32 mask, u32 value); | ||
14 | u32 ssb_gpio_control(struct ssb_bus *bus, u32 mask, u32 value); | ||
15 | u32 ssb_gpio_intmask(struct ssb_bus *bus, u32 mask, u32 value); | ||
16 | u32 ssb_gpio_polarity(struct ssb_bus *bus, u32 mask, u32 value); | ||
17 | |||
18 | #endif /* LINUX_SSB_EMBEDDED_H_ */ | ||
diff --git a/include/linux/videodev.h b/include/linux/videodev.h index 52e3d5fd5be4..9385a566aed8 100644 --- a/include/linux/videodev.h +++ b/include/linux/videodev.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #ifndef __LINUX_VIDEODEV_H | 12 | #ifndef __LINUX_VIDEODEV_H |
13 | #define __LINUX_VIDEODEV_H | 13 | #define __LINUX_VIDEODEV_H |
14 | 14 | ||
15 | #include <linux/ioctl.h> | ||
15 | #include <linux/videodev2.h> | 16 | #include <linux/videodev2.h> |
16 | 17 | ||
17 | #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) | 18 | #if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 439474f24e34..17a80177a674 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -62,6 +62,7 @@ | |||
62 | #define __user | 62 | #define __user |
63 | #include <sys/time.h> | 63 | #include <sys/time.h> |
64 | #endif | 64 | #endif |
65 | #include <linux/ioctl.h> | ||
65 | #include <linux/types.h> | 66 | #include <linux/types.h> |
66 | 67 | ||
67 | /* | 68 | /* |