diff options
Diffstat (limited to 'include/linux')
48 files changed, 334 insertions, 183 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 6a65231bc785..37bfa19d8064 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild | |||
@@ -149,6 +149,7 @@ header-y += ticable.h | |||
149 | header-y += times.h | 149 | header-y += times.h |
150 | header-y += tiocl.h | 150 | header-y += tiocl.h |
151 | header-y += tipc.h | 151 | header-y += tipc.h |
152 | header-y += tipc_config.h | ||
152 | header-y += toshiba.h | 153 | header-y += toshiba.h |
153 | header-y += ultrasound.h | 154 | header-y += ultrasound.h |
154 | header-y += un.h | 155 | header-y += un.h |
@@ -325,6 +326,7 @@ unifdef-y += sonypi.h | |||
325 | unifdef-y += soundcard.h | 326 | unifdef-y += soundcard.h |
326 | unifdef-y += stat.h | 327 | unifdef-y += stat.h |
327 | unifdef-y += stddef.h | 328 | unifdef-y += stddef.h |
329 | unifdef-y += string.h | ||
328 | unifdef-y += synclink.h | 330 | unifdef-y += synclink.h |
329 | unifdef-y += sysctl.h | 331 | unifdef-y += sysctl.h |
330 | unifdef-y += tcp.h | 332 | unifdef-y += tcp.h |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 8ccedf7a0a5a..e3c16c981e46 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -132,6 +132,11 @@ extern unsigned long acpi_realmode_flags; | |||
132 | int acpi_register_gsi (u32 gsi, int triggering, int polarity); | 132 | int acpi_register_gsi (u32 gsi, int triggering, int polarity); |
133 | int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); | 133 | int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); |
134 | 134 | ||
135 | #ifdef CONFIG_X86_IO_APIC | ||
136 | extern int acpi_get_override_irq(int bus_irq, int *trigger, int *polarity); | ||
137 | #else | ||
138 | #define acpi_get_override_irq(bus, trigger, polarity) (-1) | ||
139 | #endif | ||
135 | /* | 140 | /* |
136 | * This function undoes the effect of one call to acpi_register_gsi(). | 141 | * This function undoes the effect of one call to acpi_register_gsi(). |
137 | * If this matches the last registration, any IRQ resources for gsi | 142 | * If this matches the last registration, any IRQ resources for gsi |
diff --git a/include/linux/ata.h b/include/linux/ata.h index 8263a7b74d34..5c4e54a2a8d6 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -43,6 +43,7 @@ enum { | |||
43 | ATA_MAX_SECTORS_128 = 128, | 43 | ATA_MAX_SECTORS_128 = 128, |
44 | ATA_MAX_SECTORS = 256, | 44 | ATA_MAX_SECTORS = 256, |
45 | ATA_MAX_SECTORS_LBA48 = 65535,/* TODO: 65536? */ | 45 | ATA_MAX_SECTORS_LBA48 = 65535,/* TODO: 65536? */ |
46 | ATA_MAX_SECTORS_TAPE = 65535, | ||
46 | 47 | ||
47 | ATA_ID_WORDS = 256, | 48 | ATA_ID_WORDS = 256, |
48 | ATA_ID_SERNO = 10, | 49 | ATA_ID_SERNO = 10, |
@@ -180,6 +181,7 @@ enum { | |||
180 | ATA_CMD_VERIFY_EXT = 0x42, | 181 | ATA_CMD_VERIFY_EXT = 0x42, |
181 | ATA_CMD_STANDBYNOW1 = 0xE0, | 182 | ATA_CMD_STANDBYNOW1 = 0xE0, |
182 | ATA_CMD_IDLEIMMEDIATE = 0xE1, | 183 | ATA_CMD_IDLEIMMEDIATE = 0xE1, |
184 | ATA_CMD_SLEEP = 0xE6, | ||
183 | ATA_CMD_INIT_DEV_PARAMS = 0x91, | 185 | ATA_CMD_INIT_DEV_PARAMS = 0x91, |
184 | ATA_CMD_READ_NATIVE_MAX = 0xF8, | 186 | ATA_CMD_READ_NATIVE_MAX = 0xF8, |
185 | ATA_CMD_READ_NATIVE_MAX_EXT = 0x27, | 187 | ATA_CMD_READ_NATIVE_MAX_EXT = 0x27, |
@@ -235,6 +237,7 @@ enum { | |||
235 | 237 | ||
236 | /* SETFEATURE Sector counts for SATA features */ | 238 | /* SETFEATURE Sector counts for SATA features */ |
237 | SATA_AN = 0x05, /* Asynchronous Notification */ | 239 | SATA_AN = 0x05, /* Asynchronous Notification */ |
240 | SATA_DIPM = 0x03, /* Device Initiated Power Management */ | ||
238 | 241 | ||
239 | /* ATAPI stuff */ | 242 | /* ATAPI stuff */ |
240 | ATAPI_PKT_DMA = (1 << 0), | 243 | ATAPI_PKT_DMA = (1 << 0), |
@@ -377,6 +380,26 @@ struct ata_taskfile { | |||
377 | 380 | ||
378 | #define ata_id_cdb_intr(id) (((id)[0] & 0x60) == 0x20) | 381 | #define ata_id_cdb_intr(id) (((id)[0] & 0x60) == 0x20) |
379 | 382 | ||
383 | static inline bool ata_id_has_hipm(const u16 *id) | ||
384 | { | ||
385 | u16 val = id[76]; | ||
386 | |||
387 | if (val == 0 || val == 0xffff) | ||
388 | return false; | ||
389 | |||
390 | return val & (1 << 9); | ||
391 | } | ||
392 | |||
393 | static inline bool ata_id_has_dipm(const u16 *id) | ||
394 | { | ||
395 | u16 val = id[78]; | ||
396 | |||
397 | if (val == 0 || val == 0xffff) | ||
398 | return false; | ||
399 | |||
400 | return val & (1 << 3); | ||
401 | } | ||
402 | |||
380 | static inline int ata_id_has_fua(const u16 *id) | 403 | static inline int ata_id_has_fua(const u16 *id) |
381 | { | 404 | { |
382 | if ((id[84] & 0xC000) != 0x4000) | 405 | if ((id[84] & 0xC000) != 0x4000) |
@@ -402,6 +425,8 @@ static inline int ata_id_has_lba48(const u16 *id) | |||
402 | { | 425 | { |
403 | if ((id[83] & 0xC000) != 0x4000) | 426 | if ((id[83] & 0xC000) != 0x4000) |
404 | return 0; | 427 | return 0; |
428 | if (!ata_id_u64(id, 100)) | ||
429 | return 0; | ||
405 | return id[83] & (1 << 10); | 430 | return id[83] & (1 << 10); |
406 | } | 431 | } |
407 | 432 | ||
@@ -512,6 +537,15 @@ static inline int ata_drive_40wire(const u16 *dev_id) | |||
512 | return 1; | 537 | return 1; |
513 | } | 538 | } |
514 | 539 | ||
540 | static inline int ata_drive_40wire_relaxed(const u16 *dev_id) | ||
541 | { | ||
542 | if (ata_id_is_sata(dev_id)) | ||
543 | return 0; /* SATA */ | ||
544 | if ((dev_id[93] & 0x2000) == 0x2000) | ||
545 | return 0; /* 80 wire */ | ||
546 | return 1; | ||
547 | } | ||
548 | |||
515 | static inline int atapi_cdb_len(const u16 *dev_id) | 549 | static inline int atapi_cdb_len(const u16 *dev_id) |
516 | { | 550 | { |
517 | u16 tmp = dev_id[0] & 0x3; | 551 | u16 tmp = dev_id[0] & 0x3; |
@@ -522,6 +556,11 @@ static inline int atapi_cdb_len(const u16 *dev_id) | |||
522 | } | 556 | } |
523 | } | 557 | } |
524 | 558 | ||
559 | static inline int atapi_command_packet_set(const u16 *dev_id) | ||
560 | { | ||
561 | return (dev_id[0] >> 8) & 0x1f; | ||
562 | } | ||
563 | |||
525 | static inline int is_atapi_taskfile(const struct ata_taskfile *tf) | 564 | static inline int is_atapi_taskfile(const struct ata_taskfile *tf) |
526 | { | 565 | { |
527 | return (tf->protocol == ATA_PROT_ATAPI) || | 566 | return (tf->protocol == ATA_PROT_ATAPI) || |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index bbf906a0b419..d18ee67b40f8 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -341,7 +341,6 @@ enum blk_queue_state { | |||
341 | struct blk_queue_tag { | 341 | struct blk_queue_tag { |
342 | struct request **tag_index; /* map of busy tags */ | 342 | struct request **tag_index; /* map of busy tags */ |
343 | unsigned long *tag_map; /* bit map of free/busy tags */ | 343 | unsigned long *tag_map; /* bit map of free/busy tags */ |
344 | struct list_head busy_list; /* fifo list of busy tags */ | ||
345 | int busy; /* current depth */ | 344 | int busy; /* current depth */ |
346 | int max_depth; /* what we will send to device */ | 345 | int max_depth; /* what we will send to device */ |
347 | int real_max_depth; /* what the array can hold */ | 346 | int real_max_depth; /* what the array can hold */ |
@@ -435,6 +434,7 @@ struct request_queue | |||
435 | unsigned int dma_alignment; | 434 | unsigned int dma_alignment; |
436 | 435 | ||
437 | struct blk_queue_tag *queue_tags; | 436 | struct blk_queue_tag *queue_tags; |
437 | struct list_head tag_busy_list; | ||
438 | 438 | ||
439 | unsigned int nr_sorted; | 439 | unsigned int nr_sorted; |
440 | unsigned int in_flight; | 440 | unsigned int in_flight; |
@@ -697,6 +697,7 @@ extern int blk_execute_rq(struct request_queue *, struct gendisk *, | |||
697 | extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, | 697 | extern void blk_execute_rq_nowait(struct request_queue *, struct gendisk *, |
698 | struct request *, int, rq_end_io_fn *); | 698 | struct request *, int, rq_end_io_fn *); |
699 | extern int blk_verify_command(unsigned char *, int); | 699 | extern int blk_verify_command(unsigned char *, int); |
700 | extern void blk_unplug(struct request_queue *q); | ||
700 | 701 | ||
701 | static inline struct request_queue *bdev_get_queue(struct block_device *bdev) | 702 | static inline struct request_queue *bdev_get_queue(struct block_device *bdev) |
702 | { | 703 | { |
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index c83534ee1e79..0365ec9fc0c9 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -59,7 +59,6 @@ extern void *__alloc_bootmem_core(struct bootmem_data *bdata, | |||
59 | unsigned long align, | 59 | unsigned long align, |
60 | unsigned long goal, | 60 | unsigned long goal, |
61 | unsigned long limit); | 61 | unsigned long limit); |
62 | extern void *alloc_bootmem_high_node(pg_data_t *pgdat, unsigned long size); | ||
63 | 62 | ||
64 | #ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE | 63 | #ifndef CONFIG_HAVE_ARCH_BOOTMEM_NODE |
65 | extern void reserve_bootmem(unsigned long addr, unsigned long size); | 64 | extern void reserve_bootmem(unsigned long addr, unsigned long size); |
diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h index 0b9bfbde8168..d62fcee9a08a 100644 --- a/include/linux/cgroup_subsys.h +++ b/include/linux/cgroup_subsys.h | |||
@@ -13,12 +13,6 @@ SUBSYS(cpuset) | |||
13 | 13 | ||
14 | /* */ | 14 | /* */ |
15 | 15 | ||
16 | #ifdef CONFIG_CGROUP_CPUACCT | ||
17 | SUBSYS(cpuacct) | ||
18 | #endif | ||
19 | |||
20 | /* */ | ||
21 | |||
22 | #ifdef CONFIG_CGROUP_DEBUG | 16 | #ifdef CONFIG_CGROUP_DEBUG |
23 | SUBSYS(debug) | 17 | SUBSYS(debug) |
24 | #endif | 18 | #endif |
diff --git a/include/linux/cpu_acct.h b/include/linux/cpu_acct.h deleted file mode 100644 index 6b5fd8a66c8d..000000000000 --- a/include/linux/cpu_acct.h +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | |||
2 | #ifndef _LINUX_CPU_ACCT_H | ||
3 | #define _LINUX_CPU_ACCT_H | ||
4 | |||
5 | #include <linux/cgroup.h> | ||
6 | #include <asm/cputime.h> | ||
7 | |||
8 | #ifdef CONFIG_CGROUP_CPUACCT | ||
9 | extern void cpuacct_charge(struct task_struct *, cputime_t cputime); | ||
10 | #else | ||
11 | static void inline cpuacct_charge(struct task_struct *p, cputime_t cputime) {} | ||
12 | #endif | ||
13 | |||
14 | #endif | ||
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h index 16a51546db44..c4e00161a247 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h | |||
@@ -92,6 +92,7 @@ struct cpuidle_device { | |||
92 | struct kobject kobj; | 92 | struct kobject kobj; |
93 | struct completion kobj_unregister; | 93 | struct completion kobj_unregister; |
94 | void *governor_data; | 94 | void *governor_data; |
95 | struct cpuidle_state *safe_state; | ||
95 | }; | 96 | }; |
96 | 97 | ||
97 | DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices); | 98 | DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices); |
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 37c66d1254b5..b8b7c51389fe 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
@@ -116,6 +116,7 @@ struct io_restrictions { | |||
116 | unsigned short hardsect_size; | 116 | unsigned short hardsect_size; |
117 | unsigned int max_segment_size; | 117 | unsigned int max_segment_size; |
118 | unsigned long seg_boundary_mask; | 118 | unsigned long seg_boundary_mask; |
119 | unsigned long bounce_pfn; | ||
119 | unsigned char no_cluster; /* inverted so that 0 is default */ | 120 | unsigned char no_cluster; /* inverted so that 0 is default */ |
120 | }; | 121 | }; |
121 | 122 | ||
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h index d2a96cbf4f0e..cf79853967ff 100644 --- a/include/linux/eventpoll.h +++ b/include/linux/eventpoll.h | |||
@@ -32,18 +32,13 @@ | |||
32 | * On x86-64 make the 64bit structure have the same alignment as the | 32 | * On x86-64 make the 64bit structure have the same alignment as the |
33 | * 32bit structure. This makes 32bit emulation easier. | 33 | * 32bit structure. This makes 32bit emulation easier. |
34 | * | 34 | * |
35 | * UML/x86_64 needs the same packing as x86_64 - UML + UML_X86 + | 35 | * UML/x86_64 needs the same packing as x86_64 |
36 | * 64_BIT adds up to UML/x86_64. | ||
37 | */ | 36 | */ |
38 | #ifdef __x86_64__ | 37 | #ifdef __x86_64__ |
39 | #define EPOLL_PACKED __attribute__((packed)) | 38 | #define EPOLL_PACKED __attribute__((packed)) |
40 | #else | 39 | #else |
41 | #if defined(CONFIG_UML) && defined(CONFIG_UML_X86) && defined(CONFIG_64BIT) | ||
42 | #define EPOLL_PACKED __attribute__((packed)) | ||
43 | #else | ||
44 | #define EPOLL_PACKED | 40 | #define EPOLL_PACKED |
45 | #endif | 41 | #endif |
46 | #endif | ||
47 | 42 | ||
48 | struct epoll_event { | 43 | struct epoll_event { |
49 | __u32 events; | 44 | __u32 events; |
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h index 64134456ed8c..241c01cb92b2 100644 --- a/include/linux/ext3_fs.h +++ b/include/linux/ext3_fs.h | |||
@@ -656,6 +656,26 @@ struct ext3_dir_entry_2 { | |||
656 | #define EXT3_DIR_ROUND (EXT3_DIR_PAD - 1) | 656 | #define EXT3_DIR_ROUND (EXT3_DIR_PAD - 1) |
657 | #define EXT3_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT3_DIR_ROUND) & \ | 657 | #define EXT3_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT3_DIR_ROUND) & \ |
658 | ~EXT3_DIR_ROUND) | 658 | ~EXT3_DIR_ROUND) |
659 | #define EXT3_MAX_REC_LEN ((1<<16)-1) | ||
660 | |||
661 | static inline unsigned ext3_rec_len_from_disk(__le16 dlen) | ||
662 | { | ||
663 | unsigned len = le16_to_cpu(dlen); | ||
664 | |||
665 | if (len == EXT3_MAX_REC_LEN) | ||
666 | return 1 << 16; | ||
667 | return len; | ||
668 | } | ||
669 | |||
670 | static inline __le16 ext3_rec_len_to_disk(unsigned len) | ||
671 | { | ||
672 | if (len == (1 << 16)) | ||
673 | return cpu_to_le16(EXT3_MAX_REC_LEN); | ||
674 | else if (len > (1 << 16)) | ||
675 | BUG(); | ||
676 | return cpu_to_le16(len); | ||
677 | } | ||
678 | |||
659 | /* | 679 | /* |
660 | * Hash Tree Directory indexing | 680 | * Hash Tree Directory indexing |
661 | * (c) Daniel Phillips, 2001 | 681 | * (c) Daniel Phillips, 2001 |
diff --git a/include/linux/f75375s.h b/include/linux/f75375s.h new file mode 100644 index 000000000000..e99e22500668 --- /dev/null +++ b/include/linux/f75375s.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* | ||
2 | * f75375s.h - platform data structure for f75375s sensor | ||
3 | * | ||
4 | * This file is subject to the terms and conditions of the GNU General Public | ||
5 | * License. See the file "COPYING" in the main directory of this archive | ||
6 | * for more details. | ||
7 | * | ||
8 | * Copyright (C) 2007, Riku Voipio <riku.voipio@iki.fi> | ||
9 | */ | ||
10 | |||
11 | #ifndef __LINUX_F75375S_H | ||
12 | #define __LINUX_F75375S_H | ||
13 | |||
14 | /* We want to set fans spinning on systems where there is no | ||
15 | * BIOS to do that for us */ | ||
16 | struct f75375s_platform_data { | ||
17 | u8 pwm[2]; | ||
18 | u8 pwm_enable[2]; | ||
19 | }; | ||
20 | |||
21 | #endif /* __LINUX_F75375S_H */ | ||
diff --git a/include/linux/futex.h b/include/linux/futex.h index 99650353adfa..92d420fe03f8 100644 --- a/include/linux/futex.h +++ b/include/linux/futex.h | |||
@@ -149,10 +149,6 @@ union futex_key { | |||
149 | int offset; | 149 | int offset; |
150 | } both; | 150 | } both; |
151 | }; | 151 | }; |
152 | int get_futex_key(u32 __user *uaddr, struct rw_semaphore *shared, | ||
153 | union futex_key *key); | ||
154 | void get_futex_key_refs(union futex_key *key); | ||
155 | void drop_futex_key_refs(union futex_key *key); | ||
156 | 152 | ||
157 | #ifdef CONFIG_FUTEX | 153 | #ifdef CONFIG_FUTEX |
158 | extern void exit_robust_list(struct task_struct *curr); | 154 | extern void exit_robust_list(struct task_struct *curr); |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index ea0f50bfbe03..24968790bc3e 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
@@ -19,7 +19,7 @@ static inline int is_vm_hugetlb_page(struct vm_area_struct *vma) | |||
19 | int hugetlb_sysctl_handler(struct ctl_table *, int, struct file *, void __user *, size_t *, loff_t *); | 19 | int hugetlb_sysctl_handler(struct ctl_table *, int, struct file *, void __user *, size_t *, loff_t *); |
20 | int hugetlb_treat_movable_handler(struct ctl_table *, int, struct file *, void __user *, size_t *, loff_t *); | 20 | int hugetlb_treat_movable_handler(struct ctl_table *, int, struct file *, void __user *, size_t *, loff_t *); |
21 | int copy_hugetlb_page_range(struct mm_struct *, struct mm_struct *, struct vm_area_struct *); | 21 | int copy_hugetlb_page_range(struct mm_struct *, struct mm_struct *, struct vm_area_struct *); |
22 | int follow_hugetlb_page(struct mm_struct *, struct vm_area_struct *, struct page **, struct vm_area_struct **, unsigned long *, int *, int); | 22 | int follow_hugetlb_page(struct mm_struct *, struct vm_area_struct *, struct page **, struct vm_area_struct **, unsigned long *, int *, int, int); |
23 | void unmap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long); | 23 | void unmap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long); |
24 | void __unmap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long); | 24 | void __unmap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long); |
25 | int hugetlb_prefault(struct address_space *, struct vm_area_struct *); | 25 | int hugetlb_prefault(struct address_space *, struct vm_area_struct *); |
@@ -106,7 +106,7 @@ static inline unsigned long hugetlb_total_pages(void) | |||
106 | return 0; | 106 | return 0; |
107 | } | 107 | } |
108 | 108 | ||
109 | #define follow_hugetlb_page(m,v,p,vs,a,b,i) ({ BUG(); 0; }) | 109 | #define follow_hugetlb_page(m,v,p,vs,a,b,i,w) ({ BUG(); 0; }) |
110 | #define follow_huge_addr(mm, addr, write) ERR_PTR(-EINVAL) | 110 | #define follow_huge_addr(mm, addr, write) ERR_PTR(-EINVAL) |
111 | #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; }) | 111 | #define copy_hugetlb_page_range(src, dst, vma) ({ BUG(); 0; }) |
112 | #define hugetlb_prefault(mapping, vma) ({ BUG(); 0; }) | 112 | #define hugetlb_prefault(mapping, vma) ({ BUG(); 0; }) |
@@ -165,8 +165,10 @@ static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(struct super_block *sb) | |||
165 | extern const struct file_operations hugetlbfs_file_operations; | 165 | extern const struct file_operations hugetlbfs_file_operations; |
166 | extern struct vm_operations_struct hugetlb_vm_ops; | 166 | extern struct vm_operations_struct hugetlb_vm_ops; |
167 | struct file *hugetlb_file_setup(const char *name, size_t); | 167 | struct file *hugetlb_file_setup(const char *name, size_t); |
168 | int hugetlb_get_quota(struct address_space *mapping); | 168 | int hugetlb_get_quota(struct address_space *mapping, long delta); |
169 | void hugetlb_put_quota(struct address_space *mapping); | 169 | void hugetlb_put_quota(struct address_space *mapping, long delta); |
170 | |||
171 | #define BLOCKS_PER_HUGEPAGE (HPAGE_SIZE / 512) | ||
170 | 172 | ||
171 | static inline int is_file_hugepages(struct file *file) | 173 | static inline int is_file_hugepages(struct file *file) |
172 | { | 174 | { |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 8033e6b33271..a100c9f8eb7c 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -400,11 +400,6 @@ extern int i2c_release_client(struct i2c_client *); | |||
400 | extern void i2c_clients_command(struct i2c_adapter *adap, | 400 | extern void i2c_clients_command(struct i2c_adapter *adap, |
401 | unsigned int cmd, void *arg); | 401 | unsigned int cmd, void *arg); |
402 | 402 | ||
403 | /* returns -EBUSY if address has been taken, 0 if not. Note that the only | ||
404 | other place at which this is called is within i2c_attach_client; so | ||
405 | you can cheat by simply not registering. Not recommended, of course! */ | ||
406 | extern int i2c_check_addr (struct i2c_adapter *adapter, int addr); | ||
407 | |||
408 | /* Detect function. It iterates over all possible addresses itself. | 403 | /* Detect function. It iterates over all possible addresses itself. |
409 | * It will only call found_proc if some client is connected at the | 404 | * It will only call found_proc if some client is connected at the |
410 | * specific address (unless a 'force' matched); | 405 | * specific address (unless a 'force' matched); |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 4ed4777bba67..dc75ccbcf991 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1031,14 +1031,7 @@ ide_startstop_t __ide_abort(ide_drive_t *, struct request *); | |||
1031 | extern ide_startstop_t ide_abort(ide_drive_t *, const char *); | 1031 | extern ide_startstop_t ide_abort(ide_drive_t *, const char *); |
1032 | 1032 | ||
1033 | extern void ide_fix_driveid(struct hd_driveid *); | 1033 | extern void ide_fix_driveid(struct hd_driveid *); |
1034 | /* | 1034 | |
1035 | * ide_fixstring() cleans up and (optionally) byte-swaps a text string, | ||
1036 | * removing leading/trailing blanks and compressing internal blanks. | ||
1037 | * It is primarily used to tidy up the model name/number fields as | ||
1038 | * returned by the WIN_[P]IDENTIFY commands. | ||
1039 | * | ||
1040 | * (s, bytecount, byteswap) | ||
1041 | */ | ||
1042 | extern void ide_fixstring(u8 *, const int, const int); | 1035 | extern void ide_fixstring(u8 *, const int, const int); |
1043 | 1036 | ||
1044 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); | 1037 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); |
diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h index 56ae438ae510..6e8cec503380 100644 --- a/include/linux/ipmi_smi.h +++ b/include/linux/ipmi_smi.h | |||
@@ -173,7 +173,7 @@ static inline int ipmi_demangle_device_id(const unsigned char *data, | |||
173 | id->firmware_revision_2 = data[3]; | 173 | id->firmware_revision_2 = data[3]; |
174 | id->ipmi_version = data[4]; | 174 | id->ipmi_version = data[4]; |
175 | id->additional_device_support = data[5]; | 175 | id->additional_device_support = data[5]; |
176 | if (data_len >= 6) { | 176 | if (data_len >= 11) { |
177 | id->manufacturer_id = (data[6] | (data[7] << 8) | | 177 | id->manufacturer_id = (data[6] | (data[7] << 8) | |
178 | (data[8] << 16)); | 178 | (data[8] << 16)); |
179 | id->product_id = data[9] | (data[10] << 8); | 179 | id->product_id = data[9] | (data[10] << 8); |
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index f73de6fb5c68..82de2fb62cb7 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h | |||
@@ -6,6 +6,7 @@ | |||
6 | #define _LINUX_KALLSYMS_H | 6 | #define _LINUX_KALLSYMS_H |
7 | 7 | ||
8 | #include <linux/errno.h> | 8 | #include <linux/errno.h> |
9 | #include <linux/stddef.h> | ||
9 | 10 | ||
10 | #define KSYM_NAME_LEN 128 | 11 | #define KSYM_NAME_LEN 128 |
11 | #define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \ | 12 | #define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \ |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 6fd24e03622e..ef52a07c43d8 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -133,11 +133,14 @@ enum { | |||
133 | ATA_DFLAG_ACPI_PENDING = (1 << 5), /* ACPI resume action pending */ | 133 | ATA_DFLAG_ACPI_PENDING = (1 << 5), /* ACPI resume action pending */ |
134 | ATA_DFLAG_ACPI_FAILED = (1 << 6), /* ACPI on devcfg has failed */ | 134 | ATA_DFLAG_ACPI_FAILED = (1 << 6), /* ACPI on devcfg has failed */ |
135 | ATA_DFLAG_AN = (1 << 7), /* AN configured */ | 135 | ATA_DFLAG_AN = (1 << 7), /* AN configured */ |
136 | ATA_DFLAG_HIPM = (1 << 8), /* device supports HIPM */ | ||
137 | ATA_DFLAG_DIPM = (1 << 9), /* device supports DIPM */ | ||
136 | ATA_DFLAG_CFG_MASK = (1 << 12) - 1, | 138 | ATA_DFLAG_CFG_MASK = (1 << 12) - 1, |
137 | 139 | ||
138 | ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */ | 140 | ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */ |
139 | ATA_DFLAG_NCQ_OFF = (1 << 13), /* device limited to non-NCQ mode */ | 141 | ATA_DFLAG_NCQ_OFF = (1 << 13), /* device limited to non-NCQ mode */ |
140 | ATA_DFLAG_SPUNDOWN = (1 << 14), /* XXX: for spindown_compat */ | 142 | ATA_DFLAG_SPUNDOWN = (1 << 14), /* XXX: for spindown_compat */ |
143 | ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */ | ||
141 | ATA_DFLAG_INIT_MASK = (1 << 16) - 1, | 144 | ATA_DFLAG_INIT_MASK = (1 << 16) - 1, |
142 | 145 | ||
143 | ATA_DFLAG_DETACH = (1 << 16), | 146 | ATA_DFLAG_DETACH = (1 << 16), |
@@ -185,6 +188,7 @@ enum { | |||
185 | ATA_FLAG_ACPI_SATA = (1 << 17), /* need native SATA ACPI layout */ | 188 | ATA_FLAG_ACPI_SATA = (1 << 17), /* need native SATA ACPI layout */ |
186 | ATA_FLAG_AN = (1 << 18), /* controller supports AN */ | 189 | ATA_FLAG_AN = (1 << 18), /* controller supports AN */ |
187 | ATA_FLAG_PMP = (1 << 19), /* controller supports PMP */ | 190 | ATA_FLAG_PMP = (1 << 19), /* controller supports PMP */ |
191 | ATA_FLAG_IPM = (1 << 20), /* driver can handle IPM */ | ||
188 | 192 | ||
189 | /* The following flag belongs to ap->pflags but is kept in | 193 | /* The following flag belongs to ap->pflags but is kept in |
190 | * ap->flags because it's referenced in many LLDs and will be | 194 | * ap->flags because it's referenced in many LLDs and will be |
@@ -217,6 +221,7 @@ enum { | |||
217 | ATA_QCFLAG_IO = (1 << 3), /* standard IO command */ | 221 | ATA_QCFLAG_IO = (1 << 3), /* standard IO command */ |
218 | ATA_QCFLAG_RESULT_TF = (1 << 4), /* result TF requested */ | 222 | ATA_QCFLAG_RESULT_TF = (1 << 4), /* result TF requested */ |
219 | ATA_QCFLAG_CLEAR_EXCL = (1 << 5), /* clear excl_link on completion */ | 223 | ATA_QCFLAG_CLEAR_EXCL = (1 << 5), /* clear excl_link on completion */ |
224 | ATA_QCFLAG_QUIET = (1 << 6), /* don't report device error */ | ||
220 | 225 | ||
221 | ATA_QCFLAG_FAILED = (1 << 16), /* cmd failed and is owned by EH */ | 226 | ATA_QCFLAG_FAILED = (1 << 16), /* cmd failed and is owned by EH */ |
222 | ATA_QCFLAG_SENSE_VALID = (1 << 17), /* sense data valid */ | 227 | ATA_QCFLAG_SENSE_VALID = (1 << 17), /* sense data valid */ |
@@ -234,6 +239,13 @@ enum { | |||
234 | ATA_TMOUT_INTERNAL = 30 * HZ, | 239 | ATA_TMOUT_INTERNAL = 30 * HZ, |
235 | ATA_TMOUT_INTERNAL_QUICK = 5 * HZ, | 240 | ATA_TMOUT_INTERNAL_QUICK = 5 * HZ, |
236 | 241 | ||
242 | /* FIXME: GoVault needs 2s but we can't afford that without | ||
243 | * parallel probing. 800ms is enough for iVDR disk | ||
244 | * HHD424020F7SV00. Increase to 2secs when parallel probing | ||
245 | * is in place. | ||
246 | */ | ||
247 | ATA_TMOUT_FF_WAIT = 4 * HZ / 5, | ||
248 | |||
237 | /* ATA bus states */ | 249 | /* ATA bus states */ |
238 | BUS_UNKNOWN = 0, | 250 | BUS_UNKNOWN = 0, |
239 | BUS_DMA = 1, | 251 | BUS_DMA = 1, |
@@ -294,6 +306,7 @@ enum { | |||
294 | ATA_EHI_RESUME_LINK = (1 << 1), /* resume link (reset modifier) */ | 306 | ATA_EHI_RESUME_LINK = (1 << 1), /* resume link (reset modifier) */ |
295 | ATA_EHI_NO_AUTOPSY = (1 << 2), /* no autopsy */ | 307 | ATA_EHI_NO_AUTOPSY = (1 << 2), /* no autopsy */ |
296 | ATA_EHI_QUIET = (1 << 3), /* be quiet */ | 308 | ATA_EHI_QUIET = (1 << 3), /* be quiet */ |
309 | ATA_EHI_LPM = (1 << 4), /* link power management action */ | ||
297 | 310 | ||
298 | ATA_EHI_DID_SOFTRESET = (1 << 16), /* already soft-reset this port */ | 311 | ATA_EHI_DID_SOFTRESET = (1 << 16), /* already soft-reset this port */ |
299 | ATA_EHI_DID_HARDRESET = (1 << 17), /* already soft-reset this port */ | 312 | ATA_EHI_DID_HARDRESET = (1 << 17), /* already soft-reset this port */ |
@@ -325,6 +338,9 @@ enum { | |||
325 | ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */ | 338 | ATA_HORKAGE_BROKEN_HPA = (1 << 4), /* Broken HPA */ |
326 | ATA_HORKAGE_SKIP_PM = (1 << 5), /* Skip PM operations */ | 339 | ATA_HORKAGE_SKIP_PM = (1 << 5), /* Skip PM operations */ |
327 | ATA_HORKAGE_HPA_SIZE = (1 << 6), /* native size off by one */ | 340 | ATA_HORKAGE_HPA_SIZE = (1 << 6), /* native size off by one */ |
341 | ATA_HORKAGE_IPM = (1 << 7), /* Link PM problems */ | ||
342 | ATA_HORKAGE_IVB = (1 << 8), /* cbl det validity bit bugs */ | ||
343 | ATA_HORKAGE_STUCK_ERR = (1 << 9), /* stuck ERR on next PACKET */ | ||
328 | 344 | ||
329 | /* DMA mask for user DMA control: User visible values; DO NOT | 345 | /* DMA mask for user DMA control: User visible values; DO NOT |
330 | renumber */ | 346 | renumber */ |
@@ -370,6 +386,18 @@ typedef int (*ata_reset_fn_t)(struct ata_link *link, unsigned int *classes, | |||
370 | unsigned long deadline); | 386 | unsigned long deadline); |
371 | typedef void (*ata_postreset_fn_t)(struct ata_link *link, unsigned int *classes); | 387 | typedef void (*ata_postreset_fn_t)(struct ata_link *link, unsigned int *classes); |
372 | 388 | ||
389 | /* | ||
390 | * host pm policy: If you alter this, you also need to alter libata-scsi.c | ||
391 | * (for the ascii descriptions) | ||
392 | */ | ||
393 | enum link_pm { | ||
394 | NOT_AVAILABLE, | ||
395 | MIN_POWER, | ||
396 | MAX_PERFORMANCE, | ||
397 | MEDIUM_POWER, | ||
398 | }; | ||
399 | extern struct class_device_attribute class_device_attr_link_power_management_policy; | ||
400 | |||
373 | struct ata_ioports { | 401 | struct ata_ioports { |
374 | void __iomem *cmd_addr; | 402 | void __iomem *cmd_addr; |
375 | void __iomem *data_addr; | 403 | void __iomem *data_addr; |
@@ -616,6 +644,7 @@ struct ata_port { | |||
616 | 644 | ||
617 | pm_message_t pm_mesg; | 645 | pm_message_t pm_mesg; |
618 | int *pm_result; | 646 | int *pm_result; |
647 | enum link_pm pm_policy; | ||
619 | 648 | ||
620 | struct timer_list fastdrain_timer; | 649 | struct timer_list fastdrain_timer; |
621 | unsigned long fastdrain_cnt; | 650 | unsigned long fastdrain_cnt; |
@@ -683,7 +712,8 @@ struct ata_port_operations { | |||
683 | 712 | ||
684 | int (*port_suspend) (struct ata_port *ap, pm_message_t mesg); | 713 | int (*port_suspend) (struct ata_port *ap, pm_message_t mesg); |
685 | int (*port_resume) (struct ata_port *ap); | 714 | int (*port_resume) (struct ata_port *ap); |
686 | 715 | int (*enable_pm) (struct ata_port *ap, enum link_pm policy); | |
716 | void (*disable_pm) (struct ata_port *ap); | ||
687 | int (*port_start) (struct ata_port *ap); | 717 | int (*port_start) (struct ata_port *ap); |
688 | void (*port_stop) (struct ata_port *ap); | 718 | void (*port_stop) (struct ata_port *ap); |
689 | 719 | ||
@@ -742,8 +772,6 @@ static inline int ata_port_is_dummy(struct ata_port *ap) | |||
742 | 772 | ||
743 | extern void sata_print_link_status(struct ata_link *link); | 773 | extern void sata_print_link_status(struct ata_link *link); |
744 | extern void ata_port_probe(struct ata_port *); | 774 | extern void ata_port_probe(struct ata_port *); |
745 | extern void __sata_phy_reset(struct ata_port *ap); | ||
746 | extern void sata_phy_reset(struct ata_port *ap); | ||
747 | extern void ata_bus_reset(struct ata_port *ap); | 775 | extern void ata_bus_reset(struct ata_port *ap); |
748 | extern int sata_set_spd(struct ata_link *link); | 776 | extern int sata_set_spd(struct ata_link *link); |
749 | extern int sata_link_debounce(struct ata_link *link, | 777 | extern int sata_link_debounce(struct ata_link *link, |
@@ -799,6 +827,7 @@ extern void ata_host_resume(struct ata_host *host); | |||
799 | extern int ata_ratelimit(void); | 827 | extern int ata_ratelimit(void); |
800 | extern int ata_busy_sleep(struct ata_port *ap, | 828 | extern int ata_busy_sleep(struct ata_port *ap, |
801 | unsigned long timeout_pat, unsigned long timeout); | 829 | unsigned long timeout_pat, unsigned long timeout); |
830 | extern void ata_wait_after_reset(struct ata_port *ap, unsigned long deadline); | ||
802 | extern int ata_wait_ready(struct ata_port *ap, unsigned long deadline); | 831 | extern int ata_wait_ready(struct ata_port *ap, unsigned long deadline); |
803 | extern void ata_port_queue_task(struct ata_port *ap, work_func_t fn, | 832 | extern void ata_port_queue_task(struct ata_port *ap, work_func_t fn, |
804 | void *data, unsigned long delay); | 833 | void *data, unsigned long delay); |
@@ -964,8 +993,6 @@ extern void sata_pmp_do_eh(struct ata_port *ap, | |||
964 | /* | 993 | /* |
965 | * EH | 994 | * EH |
966 | */ | 995 | */ |
967 | extern void ata_eng_timeout(struct ata_port *ap); | ||
968 | |||
969 | extern void ata_port_schedule_eh(struct ata_port *ap); | 996 | extern void ata_port_schedule_eh(struct ata_port *ap); |
970 | extern int ata_link_abort(struct ata_link *link); | 997 | extern int ata_link_abort(struct ata_link *link); |
971 | extern int ata_port_abort(struct ata_port *ap); | 998 | extern int ata_port_abort(struct ata_port *ap); |
diff --git a/include/linux/mc146818rtc.h b/include/linux/mc146818rtc.h index 580b3f4956ee..2f4e957af656 100644 --- a/include/linux/mc146818rtc.h +++ b/include/linux/mc146818rtc.h | |||
@@ -109,8 +109,11 @@ struct cmos_rtc_board_info { | |||
109 | #ifndef ARCH_RTC_LOCATION /* Override by <asm/mc146818rtc.h>? */ | 109 | #ifndef ARCH_RTC_LOCATION /* Override by <asm/mc146818rtc.h>? */ |
110 | 110 | ||
111 | #define RTC_IO_EXTENT 0x8 | 111 | #define RTC_IO_EXTENT 0x8 |
112 | #define RTC_IO_EXTENT_USED 0x2 | ||
112 | #define RTC_IOMAPPED 1 /* Default to I/O mapping. */ | 113 | #define RTC_IOMAPPED 1 /* Default to I/O mapping. */ |
113 | 114 | ||
115 | #else | ||
116 | #define RTC_IO_EXTENT_USED RTC_IO_EXTENT | ||
114 | #endif /* ARCH_RTC_LOCATION */ | 117 | #endif /* ARCH_RTC_LOCATION */ |
115 | 118 | ||
116 | #endif /* _MC146818RTC_H */ | 119 | #endif /* _MC146818RTC_H */ |
diff --git a/include/linux/mroute.h b/include/linux/mroute.h index 7da2cee8e132..35a8277ec1bd 100644 --- a/include/linux/mroute.h +++ b/include/linux/mroute.h | |||
@@ -128,6 +128,18 @@ struct igmpmsg | |||
128 | #ifdef __KERNEL__ | 128 | #ifdef __KERNEL__ |
129 | #include <net/sock.h> | 129 | #include <net/sock.h> |
130 | 130 | ||
131 | #ifdef CONFIG_IP_MROUTE | ||
132 | static inline int ip_mroute_opt(int opt) | ||
133 | { | ||
134 | return (opt >= MRT_BASE) && (opt <= MRT_BASE + 10); | ||
135 | } | ||
136 | #else | ||
137 | static inline int ip_mroute_opt(int opt) | ||
138 | { | ||
139 | return 0; | ||
140 | } | ||
141 | #endif | ||
142 | |||
131 | extern int ip_mroute_setsockopt(struct sock *, int, char __user *, int); | 143 | extern int ip_mroute_setsockopt(struct sock *, int, char __user *, int); |
132 | extern int ip_mroute_getsockopt(struct sock *, int, char __user *, int __user *); | 144 | extern int ip_mroute_getsockopt(struct sock *, int, char __user *, int __user *); |
133 | extern int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg); | 145 | extern int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg); |
diff --git a/include/linux/mv643xx_eth.h b/include/linux/mv643xx_eth.h index 3f272396642b..30e11aa3c1c9 100644 --- a/include/linux/mv643xx_eth.h +++ b/include/linux/mv643xx_eth.h | |||
@@ -8,6 +8,9 @@ | |||
8 | #define MV643XX_ETH_NAME "mv643xx_eth" | 8 | #define MV643XX_ETH_NAME "mv643xx_eth" |
9 | #define MV643XX_ETH_SHARED_REGS 0x2000 | 9 | #define MV643XX_ETH_SHARED_REGS 0x2000 |
10 | #define MV643XX_ETH_SHARED_REGS_SIZE 0x2000 | 10 | #define MV643XX_ETH_SHARED_REGS_SIZE 0x2000 |
11 | #define MV643XX_ETH_BAR_4 0x2220 | ||
12 | #define MV643XX_ETH_SIZE_REG_4 0x2224 | ||
13 | #define MV643XX_ETH_BASE_ADDR_ENABLE_REG 0x2290 | ||
11 | 14 | ||
12 | struct mv643xx_eth_platform_data { | 15 | struct mv643xx_eth_platform_data { |
13 | int port_number; | 16 | int port_number; |
diff --git a/include/linux/net.h b/include/linux/net.h index dd79cdb8c4cf..596131ea46f4 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
@@ -95,6 +95,12 @@ enum sock_type { | |||
95 | 95 | ||
96 | #endif /* ARCH_HAS_SOCKET_TYPES */ | 96 | #endif /* ARCH_HAS_SOCKET_TYPES */ |
97 | 97 | ||
98 | enum sock_shutdown_cmd { | ||
99 | SHUT_RD = 0, | ||
100 | SHUT_WR = 1, | ||
101 | SHUT_RDWR = 2, | ||
102 | }; | ||
103 | |||
98 | /** | 104 | /** |
99 | * struct socket - general BSD socket | 105 | * struct socket - general BSD socket |
100 | * @state: socket state (%SS_CONNECTED, etc) | 106 | * @state: socket state (%SS_CONNECTED, etc) |
@@ -223,6 +229,8 @@ extern int kernel_setsockopt(struct socket *sock, int level, int optname, | |||
223 | extern int kernel_sendpage(struct socket *sock, struct page *page, int offset, | 229 | extern int kernel_sendpage(struct socket *sock, struct page *page, int offset, |
224 | size_t size, int flags); | 230 | size_t size, int flags); |
225 | extern int kernel_sock_ioctl(struct socket *sock, int cmd, unsigned long arg); | 231 | extern int kernel_sock_ioctl(struct socket *sock, int cmd, unsigned long arg); |
232 | extern int kernel_sock_shutdown(struct socket *sock, | ||
233 | enum sock_shutdown_cmd how); | ||
226 | 234 | ||
227 | #ifndef CONFIG_SMP | 235 | #ifndef CONFIG_SMP |
228 | #define SOCKOPS_WRAPPED(name) name | 236 | #define SOCKOPS_WRAPPED(name) name |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 9b0c8f12373e..1e6af4f174b6 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -739,6 +739,16 @@ static inline void *netdev_priv(const struct net_device *dev) | |||
739 | */ | 739 | */ |
740 | #define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev)) | 740 | #define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev)) |
741 | 741 | ||
742 | /** | ||
743 | * netif_napi_add - initialize a napi context | ||
744 | * @dev: network device | ||
745 | * @napi: napi context | ||
746 | * @poll: polling function | ||
747 | * @weight: default weight | ||
748 | * | ||
749 | * netif_napi_add() must be used to initialize a napi context prior to calling | ||
750 | * *any* of the other napi related functions. | ||
751 | */ | ||
742 | static inline void netif_napi_add(struct net_device *dev, | 752 | static inline void netif_napi_add(struct net_device *dev, |
743 | struct napi_struct *napi, | 753 | struct napi_struct *napi, |
744 | int (*poll)(struct napi_struct *, int), | 754 | int (*poll)(struct napi_struct *, int), |
diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild index f2eaea2234ec..b87e83a5e070 100644 --- a/include/linux/netfilter/Kbuild +++ b/include/linux/netfilter/Kbuild | |||
@@ -4,25 +4,28 @@ header-y += nfnetlink_conntrack.h | |||
4 | header-y += nfnetlink_log.h | 4 | header-y += nfnetlink_log.h |
5 | header-y += nfnetlink_queue.h | 5 | header-y += nfnetlink_queue.h |
6 | header-y += xt_CLASSIFY.h | 6 | header-y += xt_CLASSIFY.h |
7 | header-y += xt_CONNMARK.h | ||
8 | header-y += xt_CONNSECMARK.h | ||
9 | header-y += xt_DSCP.h | ||
10 | header-y += xt_MARK.h | ||
11 | header-y += xt_NFLOG.h | ||
12 | header-y += xt_NFQUEUE.h | ||
13 | header-y += xt_SECMARK.h | ||
14 | header-y += xt_TCPMSS.h | ||
7 | header-y += xt_comment.h | 15 | header-y += xt_comment.h |
8 | header-y += xt_connbytes.h | 16 | header-y += xt_connbytes.h |
9 | header-y += xt_connmark.h | 17 | header-y += xt_connmark.h |
10 | header-y += xt_CONNMARK.h | ||
11 | header-y += xt_conntrack.h | 18 | header-y += xt_conntrack.h |
12 | header-y += xt_dccp.h | 19 | header-y += xt_dccp.h |
13 | header-y += xt_dscp.h | 20 | header-y += xt_dscp.h |
14 | header-y += xt_DSCP.h | ||
15 | header-y += xt_esp.h | 21 | header-y += xt_esp.h |
16 | header-y += xt_helper.h | ||
17 | header-y += xt_hashlimit.h | 22 | header-y += xt_hashlimit.h |
23 | header-y += xt_helper.h | ||
18 | header-y += xt_length.h | 24 | header-y += xt_length.h |
19 | header-y += xt_limit.h | 25 | header-y += xt_limit.h |
20 | header-y += xt_mac.h | 26 | header-y += xt_mac.h |
21 | header-y += xt_mark.h | 27 | header-y += xt_mark.h |
22 | header-y += xt_MARK.h | ||
23 | header-y += xt_multiport.h | 28 | header-y += xt_multiport.h |
24 | header-y += xt_NFQUEUE.h | ||
25 | header-y += xt_NFLOG.h | ||
26 | header-y += xt_pkttype.h | 29 | header-y += xt_pkttype.h |
27 | header-y += xt_policy.h | 30 | header-y += xt_policy.h |
28 | header-y += xt_realm.h | 31 | header-y += xt_realm.h |
@@ -32,9 +35,6 @@ header-y += xt_statistic.h | |||
32 | header-y += xt_string.h | 35 | header-y += xt_string.h |
33 | header-y += xt_tcpmss.h | 36 | header-y += xt_tcpmss.h |
34 | header-y += xt_tcpudp.h | 37 | header-y += xt_tcpudp.h |
35 | header-y += xt_SECMARK.h | ||
36 | header-y += xt_CONNSECMARK.h | ||
37 | header-y += xt_TCPMSS.h | ||
38 | 38 | ||
39 | unifdef-y += nf_conntrack_common.h | 39 | unifdef-y += nf_conntrack_common.h |
40 | unifdef-y += nf_conntrack_ftp.h | 40 | unifdef-y += nf_conntrack_ftp.h |
diff --git a/include/linux/netfilter_ipv4/Kbuild b/include/linux/netfilter_ipv4/Kbuild index 7185792b900f..3a7105bb8f33 100644 --- a/include/linux/netfilter_ipv4/Kbuild +++ b/include/linux/netfilter_ipv4/Kbuild | |||
@@ -1,47 +1,47 @@ | |||
1 | header-y += ipt_addrtype.h | ||
2 | header-y += ipt_ah.h | ||
3 | header-y += ipt_CLASSIFY.h | 1 | header-y += ipt_CLASSIFY.h |
4 | header-y += ipt_CLUSTERIP.h | 2 | header-y += ipt_CLUSTERIP.h |
3 | header-y += ipt_CONNMARK.h | ||
4 | header-y += ipt_DSCP.h | ||
5 | header-y += ipt_ECN.h | ||
6 | header-y += ipt_LOG.h | ||
7 | header-y += ipt_MARK.h | ||
8 | header-y += ipt_NFQUEUE.h | ||
9 | header-y += ipt_REJECT.h | ||
10 | header-y += ipt_SAME.h | ||
11 | header-y += ipt_TCPMSS.h | ||
12 | header-y += ipt_TOS.h | ||
13 | header-y += ipt_TTL.h | ||
14 | header-y += ipt_ULOG.h | ||
15 | header-y += ipt_addrtype.h | ||
16 | header-y += ipt_ah.h | ||
5 | header-y += ipt_comment.h | 17 | header-y += ipt_comment.h |
6 | header-y += ipt_connbytes.h | 18 | header-y += ipt_connbytes.h |
7 | header-y += ipt_connmark.h | 19 | header-y += ipt_connmark.h |
8 | header-y += ipt_CONNMARK.h | ||
9 | header-y += ipt_conntrack.h | 20 | header-y += ipt_conntrack.h |
10 | header-y += ipt_dccp.h | 21 | header-y += ipt_dccp.h |
11 | header-y += ipt_dscp.h | 22 | header-y += ipt_dscp.h |
12 | header-y += ipt_DSCP.h | ||
13 | header-y += ipt_ecn.h | 23 | header-y += ipt_ecn.h |
14 | header-y += ipt_ECN.h | ||
15 | header-y += ipt_esp.h | 24 | header-y += ipt_esp.h |
16 | header-y += ipt_hashlimit.h | 25 | header-y += ipt_hashlimit.h |
17 | header-y += ipt_helper.h | 26 | header-y += ipt_helper.h |
18 | header-y += ipt_iprange.h | 27 | header-y += ipt_iprange.h |
19 | header-y += ipt_length.h | 28 | header-y += ipt_length.h |
20 | header-y += ipt_limit.h | 29 | header-y += ipt_limit.h |
21 | header-y += ipt_LOG.h | ||
22 | header-y += ipt_mac.h | 30 | header-y += ipt_mac.h |
23 | header-y += ipt_mark.h | 31 | header-y += ipt_mark.h |
24 | header-y += ipt_MARK.h | ||
25 | header-y += ipt_multiport.h | 32 | header-y += ipt_multiport.h |
26 | header-y += ipt_NFQUEUE.h | ||
27 | header-y += ipt_owner.h | 33 | header-y += ipt_owner.h |
28 | header-y += ipt_physdev.h | 34 | header-y += ipt_physdev.h |
29 | header-y += ipt_pkttype.h | 35 | header-y += ipt_pkttype.h |
30 | header-y += ipt_policy.h | 36 | header-y += ipt_policy.h |
31 | header-y += ipt_realm.h | 37 | header-y += ipt_realm.h |
32 | header-y += ipt_recent.h | 38 | header-y += ipt_recent.h |
33 | header-y += ipt_REJECT.h | ||
34 | header-y += ipt_SAME.h | ||
35 | header-y += ipt_sctp.h | 39 | header-y += ipt_sctp.h |
36 | header-y += ipt_state.h | 40 | header-y += ipt_state.h |
37 | header-y += ipt_string.h | 41 | header-y += ipt_string.h |
38 | header-y += ipt_tcpmss.h | 42 | header-y += ipt_tcpmss.h |
39 | header-y += ipt_TCPMSS.h | ||
40 | header-y += ipt_tos.h | 43 | header-y += ipt_tos.h |
41 | header-y += ipt_TOS.h | ||
42 | header-y += ipt_ttl.h | 44 | header-y += ipt_ttl.h |
43 | header-y += ipt_TTL.h | ||
44 | header-y += ipt_ULOG.h | ||
45 | 45 | ||
46 | unifdef-y += ip_queue.h | 46 | unifdef-y += ip_queue.h |
47 | unifdef-y += ip_tables.h | 47 | unifdef-y += ip_tables.h |
diff --git a/include/linux/netfilter_ipv6/Kbuild b/include/linux/netfilter_ipv6/Kbuild index 9dd978d149ff..8887a5fcd1d0 100644 --- a/include/linux/netfilter_ipv6/Kbuild +++ b/include/linux/netfilter_ipv6/Kbuild | |||
@@ -14,8 +14,8 @@ header-y += ip6t_mark.h | |||
14 | header-y += ip6t_multiport.h | 14 | header-y += ip6t_multiport.h |
15 | header-y += ip6t_opts.h | 15 | header-y += ip6t_opts.h |
16 | header-y += ip6t_owner.h | 16 | header-y += ip6t_owner.h |
17 | header-y += ip6t_policy.h | ||
18 | header-y += ip6t_physdev.h | 17 | header-y += ip6t_physdev.h |
18 | header-y += ip6t_policy.h | ||
19 | header-y += ip6t_rt.h | 19 | header-y += ip6t_rt.h |
20 | 20 | ||
21 | unifdef-y += ip6_tables.h | 21 | unifdef-y += ip6_tables.h |
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 7c1f3b1d2ee5..d5bfaba595c7 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h | |||
@@ -192,7 +192,7 @@ extern int netlink_unregister_notifier(struct notifier_block *nb); | |||
192 | /* finegrained unicast helpers: */ | 192 | /* finegrained unicast helpers: */ |
193 | struct sock *netlink_getsockbyfilp(struct file *filp); | 193 | struct sock *netlink_getsockbyfilp(struct file *filp); |
194 | int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, | 194 | int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, |
195 | long timeo, struct sock *ssk); | 195 | long *timeo, struct sock *ssk); |
196 | void netlink_detachskb(struct sock *sk, struct sk_buff *skb); | 196 | void netlink_detachskb(struct sock *sk, struct sk_buff *skb); |
197 | int netlink_sendskb(struct sock *sk, struct sk_buff *skb); | 197 | int netlink_sendskb(struct sock *sk, struct sk_buff *skb); |
198 | 198 | ||
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index e82a6ebc725d..2d15d4aac094 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -422,7 +422,6 @@ extern long nfs_sync_mapping_wait(struct address_space *, struct writeback_contr | |||
422 | extern int nfs_wb_all(struct inode *inode); | 422 | extern int nfs_wb_all(struct inode *inode); |
423 | extern int nfs_wb_nocommit(struct inode *inode); | 423 | extern int nfs_wb_nocommit(struct inode *inode); |
424 | extern int nfs_wb_page(struct inode *inode, struct page* page); | 424 | extern int nfs_wb_page(struct inode *inode, struct page* page); |
425 | extern int nfs_wb_page_priority(struct inode *inode, struct page* page, int how); | ||
426 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); | 425 | extern int nfs_wb_page_cancel(struct inode *inode, struct page* page); |
427 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) | 426 | #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) |
428 | extern int nfs_commit_inode(struct inode *, int); | 427 | extern int nfs_commit_inode(struct inode *, int); |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 5d2281f661f7..0dd93bb62fbe 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -109,6 +109,14 @@ enum pcie_reset_state { | |||
109 | pcie_hot_reset = (__force pcie_reset_state_t) 3 | 109 | pcie_hot_reset = (__force pcie_reset_state_t) 3 |
110 | }; | 110 | }; |
111 | 111 | ||
112 | typedef unsigned short __bitwise pci_dev_flags_t; | ||
113 | enum pci_dev_flags { | ||
114 | /* INTX_DISABLE in PCI_COMMAND register disables MSI | ||
115 | * generation too. | ||
116 | */ | ||
117 | PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = (__force pci_dev_flags_t) 1, | ||
118 | }; | ||
119 | |||
112 | typedef unsigned short __bitwise pci_bus_flags_t; | 120 | typedef unsigned short __bitwise pci_bus_flags_t; |
113 | enum pci_bus_flags { | 121 | enum pci_bus_flags { |
114 | PCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1, | 122 | PCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1, |
@@ -185,6 +193,7 @@ struct pci_dev { | |||
185 | unsigned int msix_enabled:1; | 193 | unsigned int msix_enabled:1; |
186 | unsigned int is_managed:1; | 194 | unsigned int is_managed:1; |
187 | unsigned int is_pcie:1; | 195 | unsigned int is_pcie:1; |
196 | pci_dev_flags_t dev_flags; | ||
188 | atomic_t enable_cnt; /* pci_enable_device has been called */ | 197 | atomic_t enable_cnt; /* pci_enable_device has been called */ |
189 | 198 | ||
190 | u32 saved_config_space[16]; /* config space saved at suspend time */ | 199 | u32 saved_config_space[16]; /* config space saved at suspend time */ |
@@ -479,8 +488,11 @@ extern void pci_sort_breadthfirst(void); | |||
479 | 488 | ||
480 | /* Generic PCI functions exported to card drivers */ | 489 | /* Generic PCI functions exported to card drivers */ |
481 | 490 | ||
491 | #ifdef CONFIG_PCI_LEGACY | ||
482 | struct pci_dev __deprecated *pci_find_device (unsigned int vendor, unsigned int device, const struct pci_dev *from); | 492 | struct pci_dev __deprecated *pci_find_device (unsigned int vendor, unsigned int device, const struct pci_dev *from); |
483 | struct pci_dev __deprecated *pci_find_slot (unsigned int bus, unsigned int devfn); | 493 | struct pci_dev __deprecated *pci_find_slot (unsigned int bus, unsigned int devfn); |
494 | #endif /* CONFIG_PCI_LEGACY */ | ||
495 | |||
484 | int pci_find_capability (struct pci_dev *dev, int cap); | 496 | int pci_find_capability (struct pci_dev *dev, int cap); |
485 | int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); | 497 | int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); |
486 | int pci_find_ext_capability (struct pci_dev *dev, int cap); | 498 | int pci_find_ext_capability (struct pci_dev *dev, int cap); |
@@ -622,7 +634,6 @@ static inline int __must_check pci_register_driver(struct pci_driver *driver) | |||
622 | void pci_unregister_driver(struct pci_driver *); | 634 | void pci_unregister_driver(struct pci_driver *); |
623 | void pci_remove_behind_bridge(struct pci_dev *); | 635 | void pci_remove_behind_bridge(struct pci_dev *); |
624 | struct pci_driver *pci_dev_driver(const struct pci_dev *); | 636 | struct pci_driver *pci_dev_driver(const struct pci_dev *); |
625 | const struct pci_device_id *pci_match_device(struct pci_driver *drv, struct pci_dev *dev); | ||
626 | const struct pci_device_id *pci_match_id(const struct pci_device_id *ids, struct pci_dev *dev); | 637 | const struct pci_device_id *pci_match_id(const struct pci_device_id *ids, struct pci_dev *dev); |
627 | int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass); | 638 | int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass); |
628 | 639 | ||
@@ -751,7 +762,6 @@ static inline void pci_unregister_driver(struct pci_driver *drv) { } | |||
751 | static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } | 762 | static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } |
752 | static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } | 763 | static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } |
753 | static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; } | 764 | static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; } |
754 | static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } | ||
755 | 765 | ||
756 | /* Power management related routines */ | 766 | /* Power management related routines */ |
757 | static inline int pci_save_state(struct pci_dev *dev) { return 0; } | 767 | static inline int pci_save_state(struct pci_dev *dev) { return 0; } |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index e44aac8cf5ff..1ee009e8fec8 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -360,9 +360,6 @@ | |||
360 | #define PCI_DEVICE_ID_ATI_RS400_166 0x5a32 | 360 | #define PCI_DEVICE_ID_ATI_RS400_166 0x5a32 |
361 | #define PCI_DEVICE_ID_ATI_RS400_200 0x5a33 | 361 | #define PCI_DEVICE_ID_ATI_RS400_200 0x5a33 |
362 | #define PCI_DEVICE_ID_ATI_RS480 0x5950 | 362 | #define PCI_DEVICE_ID_ATI_RS480 0x5950 |
363 | #define PCI_DEVICE_ID_ATI_RD580 0x5952 | ||
364 | #define PCI_DEVICE_ID_ATI_RX790 0x5957 | ||
365 | #define PCI_DEVICE_ID_ATI_RS690 0x7910 | ||
366 | /* ATI IXP Chipset */ | 363 | /* ATI IXP Chipset */ |
367 | #define PCI_DEVICE_ID_ATI_IXP200_IDE 0x4349 | 364 | #define PCI_DEVICE_ID_ATI_IXP200_IDE 0x4349 |
368 | #define PCI_DEVICE_ID_ATI_IXP200_SMBUS 0x4353 | 365 | #define PCI_DEVICE_ID_ATI_IXP200_SMBUS 0x4353 |
@@ -1436,8 +1433,8 @@ | |||
1436 | #define PCI_DEVICE_ID_SERVERWORKS_HE 0x0008 | 1433 | #define PCI_DEVICE_ID_SERVERWORKS_HE 0x0008 |
1437 | #define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 | 1434 | #define PCI_DEVICE_ID_SERVERWORKS_LE 0x0009 |
1438 | #define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 0x0017 | 1435 | #define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 0x0017 |
1436 | #define PCI_DEVICE_ID_SERVERWORKS_HT1000_PXB 0x0036 | ||
1439 | #define PCI_DEVICE_ID_SERVERWORKS_EPB 0x0103 | 1437 | #define PCI_DEVICE_ID_SERVERWORKS_EPB 0x0103 |
1440 | #define PCI_DEVICE_ID_SERVERWORKS_HT1000_PCIX 0x0104 | ||
1441 | #define PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE 0x0132 | 1438 | #define PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE 0x0132 |
1442 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 | 1439 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4 0x0200 |
1443 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 | 1440 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201 |
@@ -2279,6 +2276,9 @@ | |||
2279 | #define PCI_DEVICE_ID_INTEL_82915G_IG 0x2582 | 2276 | #define PCI_DEVICE_ID_INTEL_82915G_IG 0x2582 |
2280 | #define PCI_DEVICE_ID_INTEL_82915GM_HB 0x2590 | 2277 | #define PCI_DEVICE_ID_INTEL_82915GM_HB 0x2590 |
2281 | #define PCI_DEVICE_ID_INTEL_82915GM_IG 0x2592 | 2278 | #define PCI_DEVICE_ID_INTEL_82915GM_IG 0x2592 |
2279 | #define PCI_DEVICE_ID_INTEL_5000_ERR 0x25F0 | ||
2280 | #define PCI_DEVICE_ID_INTEL_5000_FBD0 0x25F5 | ||
2281 | #define PCI_DEVICE_ID_INTEL_5000_FBD1 0x25F6 | ||
2282 | #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 | 2282 | #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 |
2283 | #define PCI_DEVICE_ID_INTEL_82945G_IG 0x2772 | 2283 | #define PCI_DEVICE_ID_INTEL_82945G_IG 0x2772 |
2284 | #define PCI_DEVICE_ID_INTEL_3000_HB 0x2778 | 2284 | #define PCI_DEVICE_ID_INTEL_3000_HB 0x2778 |
@@ -2332,6 +2332,7 @@ | |||
2332 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a | 2332 | #define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a |
2333 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e | 2333 | #define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e |
2334 | #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b | 2334 | #define PCI_DEVICE_ID_INTEL_IOAT_CNB 0x360b |
2335 | #define PCI_DEVICE_ID_INTEL_IOAT_SNB 0x402f | ||
2335 | #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff | 2336 | #define PCI_DEVICE_ID_INTEL_IOAT_SCNB 0x65ff |
2336 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 | 2337 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_0 0x5031 |
2337 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_1 0x5032 | 2338 | #define PCI_DEVICE_ID_INTEL_TOLAPAI_1 0x5032 |
diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h index 0135c76c76c6..1689e28483e4 100644 --- a/include/linux/pid_namespace.h +++ b/include/linux/pid_namespace.h | |||
@@ -29,6 +29,7 @@ struct pid_namespace { | |||
29 | 29 | ||
30 | extern struct pid_namespace init_pid_ns; | 30 | extern struct pid_namespace init_pid_ns; |
31 | 31 | ||
32 | #ifdef CONFIG_PID_NS | ||
32 | static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) | 33 | static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) |
33 | { | 34 | { |
34 | if (ns != &init_pid_ns) | 35 | if (ns != &init_pid_ns) |
@@ -45,6 +46,28 @@ static inline void put_pid_ns(struct pid_namespace *ns) | |||
45 | kref_put(&ns->kref, free_pid_ns); | 46 | kref_put(&ns->kref, free_pid_ns); |
46 | } | 47 | } |
47 | 48 | ||
49 | #else /* !CONFIG_PID_NS */ | ||
50 | #include <linux/err.h> | ||
51 | |||
52 | static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) | ||
53 | { | ||
54 | return ns; | ||
55 | } | ||
56 | |||
57 | static inline struct pid_namespace * | ||
58 | copy_pid_ns(unsigned long flags, struct pid_namespace *ns) | ||
59 | { | ||
60 | if (flags & CLONE_NEWPID) | ||
61 | ns = ERR_PTR(-EINVAL); | ||
62 | return ns; | ||
63 | } | ||
64 | |||
65 | static inline void put_pid_ns(struct pid_namespace *ns) | ||
66 | { | ||
67 | } | ||
68 | |||
69 | #endif /* CONFIG_PID_NS */ | ||
70 | |||
48 | static inline struct pid_namespace *task_active_pid_ns(struct task_struct *tsk) | 71 | static inline struct pid_namespace *task_active_pid_ns(struct task_struct *tsk) |
49 | { | 72 | { |
50 | return tsk->nsproxy->pid_ns; | 73 | return tsk->nsproxy->pid_ns; |
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index 1ff461672060..1273c6ec535c 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h | |||
@@ -196,8 +196,6 @@ static inline struct proc_dir_entry *create_proc_info_entry(const char *name, | |||
196 | return res; | 196 | return res; |
197 | } | 197 | } |
198 | 198 | ||
199 | extern struct proc_dir_entry *proc_net_create(struct net *net, | ||
200 | const char *name, mode_t mode, get_info_t *get_info); | ||
201 | extern struct proc_dir_entry *proc_net_fops_create(struct net *net, | 199 | extern struct proc_dir_entry *proc_net_fops_create(struct net *net, |
202 | const char *name, mode_t mode, const struct file_operations *fops); | 200 | const char *name, mode_t mode, const struct file_operations *fops); |
203 | extern void proc_net_remove(struct net *net, const char *name); | 201 | extern void proc_net_remove(struct net *net, const char *name); |
@@ -208,7 +206,6 @@ extern void proc_net_remove(struct net *net, const char *name); | |||
208 | #define proc_bus NULL | 206 | #define proc_bus NULL |
209 | 207 | ||
210 | #define proc_net_fops_create(net, name, mode, fops) ({ (void)(mode), NULL; }) | 208 | #define proc_net_fops_create(net, name, mode, fops) ({ (void)(mode), NULL; }) |
211 | #define proc_net_create(net, name, mode, info) ({ (void)(mode), NULL; }) | ||
212 | static inline void proc_net_remove(struct net *net, const char *name) {} | 209 | static inline void proc_net_remove(struct net *net, const char *name) {} |
213 | 210 | ||
214 | static inline void proc_flush_task(struct task_struct *task) | 211 | static inline void proc_flush_task(struct task_struct *task) |
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 5bf618241ab9..4e81836191df 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -491,9 +491,11 @@ struct nduseroptmsg | |||
491 | unsigned char nduseropt_family; | 491 | unsigned char nduseropt_family; |
492 | unsigned char nduseropt_pad1; | 492 | unsigned char nduseropt_pad1; |
493 | unsigned short nduseropt_opts_len; /* Total length of options */ | 493 | unsigned short nduseropt_opts_len; /* Total length of options */ |
494 | int nduseropt_ifindex; | ||
494 | __u8 nduseropt_icmp_type; | 495 | __u8 nduseropt_icmp_type; |
495 | __u8 nduseropt_icmp_code; | 496 | __u8 nduseropt_icmp_code; |
496 | unsigned short nduseropt_pad2; | 497 | unsigned short nduseropt_pad2; |
498 | unsigned int nduseropt_pad3; | ||
497 | /* Followed by one or more ND options */ | 499 | /* Followed by one or more ND options */ |
498 | }; | 500 | }; |
499 | 501 | ||
diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 457123171389..259735044148 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h | |||
@@ -150,7 +150,7 @@ static inline struct scatterlist *sg_last(struct scatterlist *sgl, | |||
150 | struct scatterlist *ret = &sgl[nents - 1]; | 150 | struct scatterlist *ret = &sgl[nents - 1]; |
151 | #else | 151 | #else |
152 | struct scatterlist *sg, *ret = NULL; | 152 | struct scatterlist *sg, *ret = NULL; |
153 | int i; | 153 | unsigned int i; |
154 | 154 | ||
155 | for_each_sg(sgl, sg, nents, i) | 155 | for_each_sg(sgl, sg, nents, i) |
156 | ret = sg; | 156 | ret = sg; |
@@ -179,48 +179,32 @@ static inline void sg_chain(struct scatterlist *prv, unsigned int prv_nents, | |||
179 | #ifndef ARCH_HAS_SG_CHAIN | 179 | #ifndef ARCH_HAS_SG_CHAIN |
180 | BUG(); | 180 | BUG(); |
181 | #endif | 181 | #endif |
182 | prv[prv_nents - 1].page_link = (unsigned long) sgl | 0x01; | 182 | /* |
183 | * Set lowest bit to indicate a link pointer, and make sure to clear | ||
184 | * the termination bit if it happens to be set. | ||
185 | */ | ||
186 | prv[prv_nents - 1].page_link = ((unsigned long) sgl | 0x01) & ~0x02; | ||
183 | } | 187 | } |
184 | 188 | ||
185 | /** | 189 | /** |
186 | * sg_mark_end - Mark the end of the scatterlist | 190 | * sg_mark_end - Mark the end of the scatterlist |
187 | * @sgl: Scatterlist | 191 | * @sg: SG entryScatterlist |
188 | * @nents: Number of entries in sgl | ||
189 | * | 192 | * |
190 | * Description: | 193 | * Description: |
191 | * Marks the last entry as the termination point for sg_next() | 194 | * Marks the passed in sg entry as the termination point for the sg |
192 | * | 195 | * table. A call to sg_next() on this entry will return NULL. |
193 | **/ | ||
194 | static inline void sg_mark_end(struct scatterlist *sgl, unsigned int nents) | ||
195 | { | ||
196 | sgl[nents - 1].page_link = 0x02; | ||
197 | } | ||
198 | |||
199 | static inline void __sg_mark_end(struct scatterlist *sg) | ||
200 | { | ||
201 | sg->page_link |= 0x02; | ||
202 | } | ||
203 | |||
204 | /** | ||
205 | * sg_init_one - Initialize a single entry sg list | ||
206 | * @sg: SG entry | ||
207 | * @buf: Virtual address for IO | ||
208 | * @buflen: IO length | ||
209 | * | ||
210 | * Notes: | ||
211 | * This should not be used on a single entry that is part of a larger | ||
212 | * table. Use sg_init_table() for that. | ||
213 | * | 196 | * |
214 | **/ | 197 | **/ |
215 | static inline void sg_init_one(struct scatterlist *sg, const void *buf, | 198 | static inline void sg_mark_end(struct scatterlist *sg) |
216 | unsigned int buflen) | ||
217 | { | 199 | { |
218 | memset(sg, 0, sizeof(*sg)); | ||
219 | #ifdef CONFIG_DEBUG_SG | 200 | #ifdef CONFIG_DEBUG_SG |
220 | sg->sg_magic = SG_MAGIC; | 201 | BUG_ON(sg->sg_magic != SG_MAGIC); |
221 | #endif | 202 | #endif |
222 | sg_mark_end(sg, 1); | 203 | /* |
223 | sg_set_buf(sg, buf, buflen); | 204 | * Set termination bit, clear potential chain bit |
205 | */ | ||
206 | sg->page_link |= 0x02; | ||
207 | sg->page_link &= ~0x01; | ||
224 | } | 208 | } |
225 | 209 | ||
226 | /** | 210 | /** |
@@ -236,14 +220,32 @@ static inline void sg_init_one(struct scatterlist *sg, const void *buf, | |||
236 | static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents) | 220 | static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents) |
237 | { | 221 | { |
238 | memset(sgl, 0, sizeof(*sgl) * nents); | 222 | memset(sgl, 0, sizeof(*sgl) * nents); |
239 | sg_mark_end(sgl, nents); | ||
240 | #ifdef CONFIG_DEBUG_SG | 223 | #ifdef CONFIG_DEBUG_SG |
241 | { | 224 | { |
242 | int i; | 225 | unsigned int i; |
243 | for (i = 0; i < nents; i++) | 226 | for (i = 0; i < nents; i++) |
244 | sgl[i].sg_magic = SG_MAGIC; | 227 | sgl[i].sg_magic = SG_MAGIC; |
245 | } | 228 | } |
246 | #endif | 229 | #endif |
230 | sg_mark_end(&sgl[nents - 1]); | ||
231 | } | ||
232 | |||
233 | /** | ||
234 | * sg_init_one - Initialize a single entry sg list | ||
235 | * @sg: SG entry | ||
236 | * @buf: Virtual address for IO | ||
237 | * @buflen: IO length | ||
238 | * | ||
239 | * Notes: | ||
240 | * This should not be used on a single entry that is part of a larger | ||
241 | * table. Use sg_init_table() for that. | ||
242 | * | ||
243 | **/ | ||
244 | static inline void sg_init_one(struct scatterlist *sg, const void *buf, | ||
245 | unsigned int buflen) | ||
246 | { | ||
247 | sg_init_table(sg, 1); | ||
248 | sg_set_buf(sg, buf, buflen); | ||
247 | } | 249 | } |
248 | 250 | ||
249 | /** | 251 | /** |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 3c07d595979f..ee800e7a70de 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -254,6 +254,7 @@ long io_schedule_timeout(long timeout); | |||
254 | 254 | ||
255 | extern void cpu_init (void); | 255 | extern void cpu_init (void); |
256 | extern void trap_init(void); | 256 | extern void trap_init(void); |
257 | extern void account_process_tick(struct task_struct *task, int user); | ||
257 | extern void update_process_times(int user); | 258 | extern void update_process_times(int user); |
258 | extern void scheduler_tick(void); | 259 | extern void scheduler_tick(void); |
259 | 260 | ||
@@ -862,7 +863,6 @@ struct sched_entity { | |||
862 | struct load_weight load; /* for load-balancing */ | 863 | struct load_weight load; /* for load-balancing */ |
863 | struct rb_node run_node; | 864 | struct rb_node run_node; |
864 | unsigned int on_rq; | 865 | unsigned int on_rq; |
865 | int peer_preempt; | ||
866 | 866 | ||
867 | u64 exec_start; | 867 | u64 exec_start; |
868 | u64 sum_exec_runtime; | 868 | u64 sum_exec_runtime; |
@@ -1009,6 +1009,7 @@ struct task_struct { | |||
1009 | unsigned int rt_priority; | 1009 | unsigned int rt_priority; |
1010 | cputime_t utime, stime, utimescaled, stimescaled; | 1010 | cputime_t utime, stime, utimescaled, stimescaled; |
1011 | cputime_t gtime; | 1011 | cputime_t gtime; |
1012 | cputime_t prev_utime, prev_stime; | ||
1012 | unsigned long nvcsw, nivcsw; /* context switch counts */ | 1013 | unsigned long nvcsw, nivcsw; /* context switch counts */ |
1013 | struct timespec start_time; /* monotonic time */ | 1014 | struct timespec start_time; /* monotonic time */ |
1014 | struct timespec real_start_time; /* boot based time */ | 1015 | struct timespec real_start_time; /* boot based time */ |
@@ -1459,12 +1460,17 @@ extern void sched_idle_next(void); | |||
1459 | 1460 | ||
1460 | #ifdef CONFIG_SCHED_DEBUG | 1461 | #ifdef CONFIG_SCHED_DEBUG |
1461 | extern unsigned int sysctl_sched_latency; | 1462 | extern unsigned int sysctl_sched_latency; |
1462 | extern unsigned int sysctl_sched_nr_latency; | 1463 | extern unsigned int sysctl_sched_min_granularity; |
1463 | extern unsigned int sysctl_sched_wakeup_granularity; | 1464 | extern unsigned int sysctl_sched_wakeup_granularity; |
1464 | extern unsigned int sysctl_sched_batch_wakeup_granularity; | 1465 | extern unsigned int sysctl_sched_batch_wakeup_granularity; |
1465 | extern unsigned int sysctl_sched_child_runs_first; | 1466 | extern unsigned int sysctl_sched_child_runs_first; |
1466 | extern unsigned int sysctl_sched_features; | 1467 | extern unsigned int sysctl_sched_features; |
1467 | extern unsigned int sysctl_sched_migration_cost; | 1468 | extern unsigned int sysctl_sched_migration_cost; |
1469 | extern unsigned int sysctl_sched_nr_migrate; | ||
1470 | |||
1471 | int sched_nr_latency_handler(struct ctl_table *table, int write, | ||
1472 | struct file *file, void __user *buffer, size_t *length, | ||
1473 | loff_t *ppos); | ||
1468 | #endif | 1474 | #endif |
1469 | 1475 | ||
1470 | extern unsigned int sysctl_sched_compat_yield; | 1476 | extern unsigned int sysctl_sched_compat_yield; |
@@ -1982,6 +1988,14 @@ static inline void inc_syscw(struct task_struct *tsk) | |||
1982 | } | 1988 | } |
1983 | #endif | 1989 | #endif |
1984 | 1990 | ||
1991 | #ifdef CONFIG_SMP | ||
1992 | void migration_init(void); | ||
1993 | #else | ||
1994 | static inline void migration_init(void) | ||
1995 | { | ||
1996 | } | ||
1997 | #endif | ||
1998 | |||
1985 | #endif /* __KERNEL__ */ | 1999 | #endif /* __KERNEL__ */ |
1986 | 2000 | ||
1987 | #endif | 2001 | #endif |
diff --git a/include/linux/selinux.h b/include/linux/selinux.h index d1b7ca6c1c57..6080f73fc85f 100644 --- a/include/linux/selinux.h +++ b/include/linux/selinux.h | |||
@@ -136,7 +136,7 @@ static inline int selinux_audit_rule_init(u32 field, u32 op, | |||
136 | char *rulestr, | 136 | char *rulestr, |
137 | struct selinux_audit_rule **rule) | 137 | struct selinux_audit_rule **rule) |
138 | { | 138 | { |
139 | return -ENOTSUPP; | 139 | return -EOPNOTSUPP; |
140 | } | 140 | } |
141 | 141 | ||
142 | static inline void selinux_audit_rule_free(struct selinux_audit_rule *rule) | 142 | static inline void selinux_audit_rule_free(struct selinux_audit_rule *rule) |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 94e49915a8c0..bddd50bd6878 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -356,7 +356,6 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, | |||
356 | return __alloc_skb(size, priority, 1, -1); | 356 | return __alloc_skb(size, priority, 1, -1); |
357 | } | 357 | } |
358 | 358 | ||
359 | extern void kfree_skbmem(struct sk_buff *skb); | ||
360 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); | 359 | extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src); |
361 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 360 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
362 | gfp_t priority); | 361 | gfp_t priority); |
@@ -387,7 +386,9 @@ extern void skb_truesize_bug(struct sk_buff *skb); | |||
387 | 386 | ||
388 | static inline void skb_truesize_check(struct sk_buff *skb) | 387 | static inline void skb_truesize_check(struct sk_buff *skb) |
389 | { | 388 | { |
390 | if (unlikely((int)skb->truesize < sizeof(struct sk_buff) + skb->len)) | 389 | int len = sizeof(struct sk_buff) + skb->len; |
390 | |||
391 | if (unlikely((int)skb->truesize < len)) | ||
391 | skb_truesize_bug(skb); | 392 | skb_truesize_bug(skb); |
392 | } | 393 | } |
393 | 394 | ||
diff --git a/include/linux/smp.h b/include/linux/smp.h index 259a13c3bd98..c25e66bcecf3 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -84,11 +84,12 @@ void smp_prepare_boot_cpu(void); | |||
84 | * These macros fold the SMP functionality into a single CPU system | 84 | * These macros fold the SMP functionality into a single CPU system |
85 | */ | 85 | */ |
86 | #define raw_smp_processor_id() 0 | 86 | #define raw_smp_processor_id() 0 |
87 | static inline int up_smp_call_function(void) | 87 | static inline int up_smp_call_function(void (*func)(void *), void *info) |
88 | { | 88 | { |
89 | return 0; | 89 | return 0; |
90 | } | 90 | } |
91 | #define smp_call_function(func,info,retry,wait) (up_smp_call_function()) | 91 | #define smp_call_function(func, info, retry, wait) \ |
92 | (up_smp_call_function(func, info)) | ||
92 | #define on_each_cpu(func,info,retry,wait) \ | 93 | #define on_each_cpu(func,info,retry,wait) \ |
93 | ({ \ | 94 | ({ \ |
94 | local_irq_disable(); \ | 95 | local_irq_disable(); \ |
@@ -107,6 +108,8 @@ static inline void smp_send_reschedule(int cpu) { } | |||
107 | local_irq_enable(); \ | 108 | local_irq_enable(); \ |
108 | 0; \ | 109 | 0; \ |
109 | }) | 110 | }) |
111 | #define smp_call_function_mask(mask, func, info, wait) \ | ||
112 | (up_smp_call_function(func, info)) | ||
110 | 113 | ||
111 | #endif /* !SMP */ | 114 | #endif /* !SMP */ |
112 | 115 | ||
diff --git a/include/linux/string.h b/include/linux/string.h index 836062b7582a..c5d3fcad7b57 100644 --- a/include/linux/string.h +++ b/include/linux/string.h | |||
@@ -3,16 +3,14 @@ | |||
3 | 3 | ||
4 | /* We don't want strings.h stuff being user by user stuff by accident */ | 4 | /* We don't want strings.h stuff being user by user stuff by accident */ |
5 | 5 | ||
6 | #ifdef __KERNEL__ | 6 | #ifndef __KERNEL__ |
7 | #include <string.h> | ||
8 | #else | ||
7 | 9 | ||
8 | #include <linux/compiler.h> /* for inline */ | 10 | #include <linux/compiler.h> /* for inline */ |
9 | #include <linux/types.h> /* for size_t */ | 11 | #include <linux/types.h> /* for size_t */ |
10 | #include <linux/stddef.h> /* for NULL */ | 12 | #include <linux/stddef.h> /* for NULL */ |
11 | 13 | ||
12 | #ifdef __cplusplus | ||
13 | extern "C" { | ||
14 | #endif | ||
15 | |||
16 | extern char *strndup_user(const char __user *, long); | 14 | extern char *strndup_user(const char __user *, long); |
17 | 15 | ||
18 | /* | 16 | /* |
@@ -111,9 +109,5 @@ extern void *kmemdup(const void *src, size_t len, gfp_t gfp); | |||
111 | extern char **argv_split(gfp_t gfp, const char *str, int *argcp); | 109 | extern char **argv_split(gfp_t gfp, const char *str, int *argcp); |
112 | extern void argv_free(char **argv); | 110 | extern void argv_free(char **argv); |
113 | 111 | ||
114 | #ifdef __cplusplus | ||
115 | } | ||
116 | #endif | ||
117 | |||
118 | #endif | 112 | #endif |
119 | #endif /* _LINUX_STRING_H_ */ | 113 | #endif /* _LINUX_STRING_H_ */ |
diff --git a/include/linux/sunrpc/debug.h b/include/linux/sunrpc/debug.h index 3347c72b848a..3912cf16361e 100644 --- a/include/linux/sunrpc/debug.h +++ b/include/linux/sunrpc/debug.h | |||
@@ -88,11 +88,6 @@ enum { | |||
88 | CTL_SLOTTABLE_TCP, | 88 | CTL_SLOTTABLE_TCP, |
89 | CTL_MIN_RESVPORT, | 89 | CTL_MIN_RESVPORT, |
90 | CTL_MAX_RESVPORT, | 90 | CTL_MAX_RESVPORT, |
91 | CTL_SLOTTABLE_RDMA, | ||
92 | CTL_RDMA_MAXINLINEREAD, | ||
93 | CTL_RDMA_MAXINLINEWRITE, | ||
94 | CTL_RDMA_WRITEPADDING, | ||
95 | CTL_RDMA_MEMREG, | ||
96 | }; | 91 | }; |
97 | 92 | ||
98 | #endif /* _LINUX_SUNRPC_DEBUG_H_ */ | 93 | #endif /* _LINUX_SUNRPC_DEBUG_H_ */ |
diff --git a/include/linux/sunrpc/rpc_rdma.h b/include/linux/sunrpc/rpc_rdma.h index 0013a0d8dc6b..87b895d5c786 100644 --- a/include/linux/sunrpc/rpc_rdma.h +++ b/include/linux/sunrpc/rpc_rdma.h | |||
@@ -41,17 +41,17 @@ | |||
41 | #define _LINUX_SUNRPC_RPC_RDMA_H | 41 | #define _LINUX_SUNRPC_RPC_RDMA_H |
42 | 42 | ||
43 | struct rpcrdma_segment { | 43 | struct rpcrdma_segment { |
44 | uint32_t rs_handle; /* Registered memory handle */ | 44 | __be32 rs_handle; /* Registered memory handle */ |
45 | uint32_t rs_length; /* Length of the chunk in bytes */ | 45 | __be32 rs_length; /* Length of the chunk in bytes */ |
46 | uint64_t rs_offset; /* Chunk virtual address or offset */ | 46 | __be64 rs_offset; /* Chunk virtual address or offset */ |
47 | }; | 47 | }; |
48 | 48 | ||
49 | /* | 49 | /* |
50 | * read chunk(s), encoded as a linked list. | 50 | * read chunk(s), encoded as a linked list. |
51 | */ | 51 | */ |
52 | struct rpcrdma_read_chunk { | 52 | struct rpcrdma_read_chunk { |
53 | uint32_t rc_discrim; /* 1 indicates presence */ | 53 | __be32 rc_discrim; /* 1 indicates presence */ |
54 | uint32_t rc_position; /* Position in XDR stream */ | 54 | __be32 rc_position; /* Position in XDR stream */ |
55 | struct rpcrdma_segment rc_target; | 55 | struct rpcrdma_segment rc_target; |
56 | }; | 56 | }; |
57 | 57 | ||
@@ -66,29 +66,29 @@ struct rpcrdma_write_chunk { | |||
66 | * write chunk(s), encoded as a counted array. | 66 | * write chunk(s), encoded as a counted array. |
67 | */ | 67 | */ |
68 | struct rpcrdma_write_array { | 68 | struct rpcrdma_write_array { |
69 | uint32_t wc_discrim; /* 1 indicates presence */ | 69 | __be32 wc_discrim; /* 1 indicates presence */ |
70 | uint32_t wc_nchunks; /* Array count */ | 70 | __be32 wc_nchunks; /* Array count */ |
71 | struct rpcrdma_write_chunk wc_array[0]; | 71 | struct rpcrdma_write_chunk wc_array[0]; |
72 | }; | 72 | }; |
73 | 73 | ||
74 | struct rpcrdma_msg { | 74 | struct rpcrdma_msg { |
75 | uint32_t rm_xid; /* Mirrors the RPC header xid */ | 75 | __be32 rm_xid; /* Mirrors the RPC header xid */ |
76 | uint32_t rm_vers; /* Version of this protocol */ | 76 | __be32 rm_vers; /* Version of this protocol */ |
77 | uint32_t rm_credit; /* Buffers requested/granted */ | 77 | __be32 rm_credit; /* Buffers requested/granted */ |
78 | uint32_t rm_type; /* Type of message (enum rpcrdma_proc) */ | 78 | __be32 rm_type; /* Type of message (enum rpcrdma_proc) */ |
79 | union { | 79 | union { |
80 | 80 | ||
81 | struct { /* no chunks */ | 81 | struct { /* no chunks */ |
82 | uint32_t rm_empty[3]; /* 3 empty chunk lists */ | 82 | __be32 rm_empty[3]; /* 3 empty chunk lists */ |
83 | } rm_nochunks; | 83 | } rm_nochunks; |
84 | 84 | ||
85 | struct { /* no chunks and padded */ | 85 | struct { /* no chunks and padded */ |
86 | uint32_t rm_align; /* Padding alignment */ | 86 | __be32 rm_align; /* Padding alignment */ |
87 | uint32_t rm_thresh; /* Padding threshold */ | 87 | __be32 rm_thresh; /* Padding threshold */ |
88 | uint32_t rm_pempty[3]; /* 3 empty chunk lists */ | 88 | __be32 rm_pempty[3]; /* 3 empty chunk lists */ |
89 | } rm_padded; | 89 | } rm_padded; |
90 | 90 | ||
91 | uint32_t rm_chunks[0]; /* read, write and reply chunks */ | 91 | __be32 rm_chunks[0]; /* read, write and reply chunks */ |
92 | 92 | ||
93 | } rm_body; | 93 | } rm_body; |
94 | }; | 94 | }; |
diff --git a/include/linux/sunrpc/xprtsock.h b/include/linux/sunrpc/xprtsock.h index 2c6c2c2783d8..c2a46c45c8f7 100644 --- a/include/linux/sunrpc/xprtsock.h +++ b/include/linux/sunrpc/xprtsock.h | |||
@@ -9,12 +9,6 @@ | |||
9 | 9 | ||
10 | #ifdef __KERNEL__ | 10 | #ifdef __KERNEL__ |
11 | 11 | ||
12 | /* | ||
13 | * Socket transport setup operations | ||
14 | */ | ||
15 | struct rpc_xprt *xs_setup_udp(struct xprt_create *args); | ||
16 | struct rpc_xprt *xs_setup_tcp(struct xprt_create *args); | ||
17 | |||
18 | int init_socket_xprt(void); | 12 | int init_socket_xprt(void); |
19 | void cleanup_socket_xprt(void); | 13 | void cleanup_socket_xprt(void); |
20 | 14 | ||
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index e99171f01b4c..4f5047df8a9e 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -70,7 +70,6 @@ enum | |||
70 | CTL_ABI=9, /* Binary emulation */ | 70 | CTL_ABI=9, /* Binary emulation */ |
71 | CTL_CPU=10, /* CPU stuff (speed scaling, etc) */ | 71 | CTL_CPU=10, /* CPU stuff (speed scaling, etc) */ |
72 | CTL_ARLAN=254, /* arlan wireless driver */ | 72 | CTL_ARLAN=254, /* arlan wireless driver */ |
73 | CTL_APPLDATA=2120, /* s390 appldata */ | ||
74 | CTL_S390DBF=5677, /* s390 debug */ | 73 | CTL_S390DBF=5677, /* s390 debug */ |
75 | CTL_SUNRPC=7249, /* sunrpc debug */ | 74 | CTL_SUNRPC=7249, /* sunrpc debug */ |
76 | CTL_PM=9899, /* frv power management */ | 75 | CTL_PM=9899, /* frv power management */ |
@@ -207,11 +206,6 @@ enum | |||
207 | VM_PANIC_ON_OOM=33, /* panic at out-of-memory */ | 206 | VM_PANIC_ON_OOM=33, /* panic at out-of-memory */ |
208 | VM_VDSO_ENABLED=34, /* map VDSO into new processes? */ | 207 | VM_VDSO_ENABLED=34, /* map VDSO into new processes? */ |
209 | VM_MIN_SLAB=35, /* Percent pages ignored by zone reclaim */ | 208 | VM_MIN_SLAB=35, /* Percent pages ignored by zone reclaim */ |
210 | |||
211 | /* s390 vm cmm sysctls */ | ||
212 | VM_CMM_PAGES=1111, | ||
213 | VM_CMM_TIMED_PAGES=1112, | ||
214 | VM_CMM_TIMEOUT=1113, | ||
215 | }; | 209 | }; |
216 | 210 | ||
217 | 211 | ||
diff --git a/include/linux/timex.h b/include/linux/timex.h index 37ac3ff90faf..24c6a2b59511 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
@@ -137,6 +137,7 @@ struct timex { | |||
137 | #define ADJ_TIMECONST 0x0020 /* pll time constant */ | 137 | #define ADJ_TIMECONST 0x0020 /* pll time constant */ |
138 | #define ADJ_TICK 0x4000 /* tick value */ | 138 | #define ADJ_TICK 0x4000 /* tick value */ |
139 | #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ | 139 | #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ |
140 | #define ADJ_OFFSET_SS_READ 0xa001 /* read-only adjtime */ | ||
140 | 141 | ||
141 | /* xntp 3.4 compatibility names */ | 142 | /* xntp 3.4 compatibility names */ |
142 | #define MOD_OFFSET ADJ_OFFSET | 143 | #define MOD_OFFSET ADJ_OFFSET |
diff --git a/include/linux/tty.h b/include/linux/tty.h index 56164d7ba0ad..c555f5442bd7 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -332,7 +332,9 @@ extern void tty_ldisc_flush(struct tty_struct *tty); | |||
332 | 332 | ||
333 | extern int tty_ioctl(struct inode *inode, struct file *file, unsigned int cmd, | 333 | extern int tty_ioctl(struct inode *inode, struct file *file, unsigned int cmd, |
334 | unsigned long arg); | 334 | unsigned long arg); |
335 | 335 | extern int tty_mode_ioctl(struct tty_struct *tty, struct file *file, | |
336 | unsigned int cmd, unsigned long arg); | ||
337 | extern int tty_perform_flush(struct tty_struct *tty, unsigned long arg); | ||
336 | extern dev_t tty_devnum(struct tty_struct *tty); | 338 | extern dev_t tty_devnum(struct tty_struct *tty); |
337 | extern void proc_clear_tty(struct task_struct *p); | 339 | extern void proc_clear_tty(struct task_struct *p); |
338 | extern struct tty_struct *get_current_tty(void); | 340 | extern struct tty_struct *get_current_tty(void); |
diff --git a/include/linux/types.h b/include/linux/types.h index 4f0dad21c917..f4f8d19158e4 100644 --- a/include/linux/types.h +++ b/include/linux/types.h | |||
@@ -37,6 +37,8 @@ typedef __kernel_gid32_t gid_t; | |||
37 | typedef __kernel_uid16_t uid16_t; | 37 | typedef __kernel_uid16_t uid16_t; |
38 | typedef __kernel_gid16_t gid16_t; | 38 | typedef __kernel_gid16_t gid16_t; |
39 | 39 | ||
40 | typedef unsigned long uintptr_t; | ||
41 | |||
40 | #ifdef CONFIG_UID16 | 42 | #ifdef CONFIG_UID16 |
41 | /* This is defined by include/asm-{arch}/posix_types.h */ | 43 | /* This is defined by include/asm-{arch}/posix_types.h */ |
42 | typedef __kernel_old_uid_t old_uid_t; | 44 | typedef __kernel_old_uid_t old_uid_t; |
diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h index ac69e7bb5a14..1a4ed49f6478 100644 --- a/include/linux/virtio_ring.h +++ b/include/linux/virtio_ring.h | |||
@@ -67,7 +67,7 @@ struct vring { | |||
67 | }; | 67 | }; |
68 | 68 | ||
69 | /* The standard layout for the ring is a continuous chunk of memory which looks | 69 | /* The standard layout for the ring is a continuous chunk of memory which looks |
70 | * like this. The used fields will be aligned to a "num+1" boundary. | 70 | * like this. We assume num is a power of 2. |
71 | * | 71 | * |
72 | * struct vring | 72 | * struct vring |
73 | * { | 73 | * { |
@@ -79,8 +79,8 @@ struct vring { | |||
79 | * __u16 avail_idx; | 79 | * __u16 avail_idx; |
80 | * __u16 available[num]; | 80 | * __u16 available[num]; |
81 | * | 81 | * |
82 | * // Padding so a correctly-chosen num value will cache-align used_idx. | 82 | * // Padding to the next page boundary. |
83 | * char pad[sizeof(struct vring_desc) - sizeof(avail_flags)]; | 83 | * char pad[]; |
84 | * | 84 | * |
85 | * // A ring of used descriptor heads with free-running index. | 85 | * // A ring of used descriptor heads with free-running index. |
86 | * __u16 used_flags; | 86 | * __u16 used_flags; |
@@ -88,18 +88,21 @@ struct vring { | |||
88 | * struct vring_used_elem used[num]; | 88 | * struct vring_used_elem used[num]; |
89 | * }; | 89 | * }; |
90 | */ | 90 | */ |
91 | static inline void vring_init(struct vring *vr, unsigned int num, void *p) | 91 | static inline void vring_init(struct vring *vr, unsigned int num, void *p, |
92 | unsigned int pagesize) | ||
92 | { | 93 | { |
93 | vr->num = num; | 94 | vr->num = num; |
94 | vr->desc = p; | 95 | vr->desc = p; |
95 | vr->avail = p + num*sizeof(struct vring); | 96 | vr->avail = p + num*sizeof(struct vring_desc); |
96 | vr->used = p + (num+1)*(sizeof(struct vring) + sizeof(__u16)); | 97 | vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + pagesize-1) |
98 | & ~(pagesize - 1)); | ||
97 | } | 99 | } |
98 | 100 | ||
99 | static inline unsigned vring_size(unsigned int num) | 101 | static inline unsigned vring_size(unsigned int num, unsigned int pagesize) |
100 | { | 102 | { |
101 | return (num + 1) * (sizeof(struct vring_desc) + sizeof(__u16)) | 103 | return ((sizeof(struct vring_desc) * num + sizeof(__u16) * (2 + num) |
102 | + sizeof(__u32) + num * sizeof(struct vring_used_elem); | 104 | + pagesize - 1) & ~(pagesize - 1)) |
105 | + sizeof(__u16) * 2 + sizeof(struct vring_used_elem) * num; | ||
103 | } | 106 | } |
104 | 107 | ||
105 | #ifdef __KERNEL__ | 108 | #ifdef __KERNEL__ |