diff options
Diffstat (limited to 'include/linux')
36 files changed, 147 insertions, 110 deletions
diff --git a/include/linux/ata.h b/include/linux/ata.h index c331da2da5f7..6caeb98e29dd 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
@@ -40,6 +40,7 @@ enum { | |||
40 | ATA_MAX_DEVICES = 2, /* per bus/port */ | 40 | ATA_MAX_DEVICES = 2, /* per bus/port */ |
41 | ATA_MAX_PRD = 256, /* we could make these 256/256 */ | 41 | ATA_MAX_PRD = 256, /* we could make these 256/256 */ |
42 | ATA_SECT_SIZE = 512, | 42 | ATA_SECT_SIZE = 512, |
43 | ATA_MAX_SECTORS_128 = 128, | ||
43 | ATA_MAX_SECTORS = 256, | 44 | ATA_MAX_SECTORS = 256, |
44 | ATA_MAX_SECTORS_LBA48 = 65535,/* TODO: 65536? */ | 45 | ATA_MAX_SECTORS_LBA48 = 65535,/* TODO: 65536? */ |
45 | 46 | ||
diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h index 7011d6255593..f2542c24b328 100644 --- a/include/linux/backing-dev.h +++ b/include/linux/backing-dev.h | |||
@@ -93,6 +93,7 @@ static inline int bdi_rw_congested(struct backing_dev_info *bdi) | |||
93 | void clear_bdi_congested(struct backing_dev_info *bdi, int rw); | 93 | void clear_bdi_congested(struct backing_dev_info *bdi, int rw); |
94 | void set_bdi_congested(struct backing_dev_info *bdi, int rw); | 94 | void set_bdi_congested(struct backing_dev_info *bdi, int rw); |
95 | long congestion_wait(int rw, long timeout); | 95 | long congestion_wait(int rw, long timeout); |
96 | long congestion_wait_interruptible(int rw, long timeout); | ||
96 | void congestion_end(int rw); | 97 | void congestion_end(int rw); |
97 | 98 | ||
98 | #define bdi_cap_writeback_dirty(bdi) \ | 99 | #define bdi_cap_writeback_dirty(bdi) \ |
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index 2275f2748708..81c07cd18643 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -108,7 +108,7 @@ static inline void *alloc_remap(int nid, unsigned long size) | |||
108 | #endif /* CONFIG_HAVE_ARCH_ALLOC_REMAP */ | 108 | #endif /* CONFIG_HAVE_ARCH_ALLOC_REMAP */ |
109 | 109 | ||
110 | extern unsigned long __meminitdata nr_kernel_pages; | 110 | extern unsigned long __meminitdata nr_kernel_pages; |
111 | extern unsigned long nr_all_pages; | 111 | extern unsigned long __meminitdata nr_all_pages; |
112 | 112 | ||
113 | extern void *alloc_large_system_hash(const char *tablename, | 113 | extern void *alloc_large_system_hash(const char *tablename, |
114 | unsigned long bucketsize, | 114 | unsigned long bucketsize, |
diff --git a/include/linux/compiler.h b/include/linux/compiler.h index aca66984aafd..3b6949b41745 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h | |||
@@ -15,8 +15,8 @@ | |||
15 | # define __acquire(x) __context__(x,1) | 15 | # define __acquire(x) __context__(x,1) |
16 | # define __release(x) __context__(x,-1) | 16 | # define __release(x) __context__(x,-1) |
17 | # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) | 17 | # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) |
18 | extern void __chk_user_ptr(void __user *); | 18 | extern void __chk_user_ptr(const void __user *); |
19 | extern void __chk_io_ptr(void __iomem *); | 19 | extern void __chk_io_ptr(const void __iomem *); |
20 | #else | 20 | #else |
21 | # define __user | 21 | # define __user |
22 | # define __kernel | 22 | # define __kernel |
diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 769ddc6df492..c22b0dfcbcd2 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h | |||
@@ -127,9 +127,13 @@ static inline int cpu_is_offline(int cpu) { return 0; } | |||
127 | #endif /* CONFIG_HOTPLUG_CPU */ | 127 | #endif /* CONFIG_HOTPLUG_CPU */ |
128 | 128 | ||
129 | #ifdef CONFIG_SUSPEND_SMP | 129 | #ifdef CONFIG_SUSPEND_SMP |
130 | extern int suspend_cpu_hotplug; | ||
131 | |||
130 | extern int disable_nonboot_cpus(void); | 132 | extern int disable_nonboot_cpus(void); |
131 | extern void enable_nonboot_cpus(void); | 133 | extern void enable_nonboot_cpus(void); |
132 | #else | 134 | #else |
135 | #define suspend_cpu_hotplug 0 | ||
136 | |||
133 | static inline int disable_nonboot_cpus(void) { return 0; } | 137 | static inline int disable_nonboot_cpus(void) { return 0; } |
134 | static inline void enable_nonboot_cpus(void) {} | 138 | static inline void enable_nonboot_cpus(void) {} |
135 | #endif | 139 | #endif |
diff --git a/include/linux/device.h b/include/linux/device.h index 39a3199a826d..5cf30e95c8b6 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -128,6 +128,7 @@ struct device_driver { | |||
128 | 128 | ||
129 | struct module * owner; | 129 | struct module * owner; |
130 | const char * mod_name; /* used for built-in modules */ | 130 | const char * mod_name; /* used for built-in modules */ |
131 | struct module_kobject * mkobj; | ||
131 | 132 | ||
132 | int (*probe) (struct device * dev); | 133 | int (*probe) (struct device * dev); |
133 | int (*remove) (struct device * dev); | 134 | int (*remove) (struct device * dev); |
@@ -353,6 +354,8 @@ extern int __must_check device_create_bin_file(struct device *dev, | |||
353 | struct bin_attribute *attr); | 354 | struct bin_attribute *attr); |
354 | extern void device_remove_bin_file(struct device *dev, | 355 | extern void device_remove_bin_file(struct device *dev, |
355 | struct bin_attribute *attr); | 356 | struct bin_attribute *attr); |
357 | extern int device_schedule_callback(struct device *dev, | ||
358 | void (*func)(struct device *)); | ||
356 | 359 | ||
357 | /* device resource management */ | 360 | /* device resource management */ |
358 | typedef void (*dr_release_t)(struct device *dev, void *res); | 361 | typedef void (*dr_release_t)(struct device *dev, void *res); |
diff --git a/include/linux/eventpoll.h b/include/linux/eventpoll.h index 84cfa8bbdc36..d2a96cbf4f0e 100644 --- a/include/linux/eventpoll.h +++ b/include/linux/eventpoll.h | |||
@@ -31,12 +31,19 @@ | |||
31 | /* | 31 | /* |
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 | * | ||
35 | * UML/x86_64 needs the same packing as x86_64 - UML + UML_X86 + | ||
36 | * 64_BIT adds up to UML/x86_64. | ||
34 | */ | 37 | */ |
35 | #ifdef __x86_64__ | 38 | #ifdef __x86_64__ |
36 | #define EPOLL_PACKED __attribute__((packed)) | 39 | #define EPOLL_PACKED __attribute__((packed)) |
37 | #else | 40 | #else |
41 | #if defined(CONFIG_UML) && defined(CONFIG_UML_X86) && defined(CONFIG_64BIT) | ||
42 | #define EPOLL_PACKED __attribute__((packed)) | ||
43 | #else | ||
38 | #define EPOLL_PACKED | 44 | #define EPOLL_PACKED |
39 | #endif | 45 | #endif |
46 | #endif | ||
40 | 47 | ||
41 | struct epoll_event { | 48 | struct epoll_event { |
42 | __u32 events; | 49 | __u32 events; |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 5bdbc744e773..17c29dca8354 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -206,6 +206,7 @@ struct hrtimer_cpu_base { | |||
206 | struct clock_event_device; | 206 | struct clock_event_device; |
207 | 207 | ||
208 | extern void clock_was_set(void); | 208 | extern void clock_was_set(void); |
209 | extern void hres_timers_resume(void); | ||
209 | extern void hrtimer_interrupt(struct clock_event_device *dev); | 210 | extern void hrtimer_interrupt(struct clock_event_device *dev); |
210 | 211 | ||
211 | /* | 212 | /* |
@@ -236,6 +237,8 @@ static inline ktime_t hrtimer_cb_get_time(struct hrtimer *timer) | |||
236 | */ | 237 | */ |
237 | static inline void clock_was_set(void) { } | 238 | static inline void clock_was_set(void) { } |
238 | 239 | ||
240 | static inline void hres_timers_resume(void) { } | ||
241 | |||
239 | /* | 242 | /* |
240 | * In non high resolution mode the time reference is taken from | 243 | * In non high resolution mode the time reference is taken from |
241 | * the base softirq time variable. | 244 | * the base softirq time variable. |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 34f2676b3c62..d3bbc7188b6a 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -615,6 +615,7 @@ typedef struct ide_drive_s { | |||
615 | u8 init_speed; /* transfer rate set at boot */ | 615 | u8 init_speed; /* transfer rate set at boot */ |
616 | u8 pio_speed; /* unused by core, used by some drivers for fallback from DMA */ | 616 | u8 pio_speed; /* unused by core, used by some drivers for fallback from DMA */ |
617 | u8 current_speed; /* current transfer rate set */ | 617 | u8 current_speed; /* current transfer rate set */ |
618 | u8 desired_speed; /* desired transfer rate set */ | ||
618 | u8 dn; /* now wide spread use */ | 619 | u8 dn; /* now wide spread use */ |
619 | u8 wcache; /* status of write cache */ | 620 | u8 wcache; /* status of write cache */ |
620 | u8 acoustic; /* acoustic management */ | 621 | u8 acoustic; /* acoustic management */ |
@@ -860,6 +861,8 @@ typedef struct hwgroup_s { | |||
860 | int (*expiry)(ide_drive_t *); | 861 | int (*expiry)(ide_drive_t *); |
861 | /* ide_system_bus_speed */ | 862 | /* ide_system_bus_speed */ |
862 | int pio_clock; | 863 | int pio_clock; |
864 | int req_gen; | ||
865 | int req_gen_timer; | ||
863 | 866 | ||
864 | unsigned char cmd_buf[4]; | 867 | unsigned char cmd_buf[4]; |
865 | } ide_hwgroup_t; | 868 | } ide_hwgroup_t; |
diff --git a/include/linux/io.h b/include/linux/io.h index c244a0cc9319..09d351236379 100644 --- a/include/linux/io.h +++ b/include/linux/io.h | |||
@@ -33,9 +33,22 @@ int ioremap_page_range(unsigned long addr, unsigned long end, | |||
33 | /* | 33 | /* |
34 | * Managed iomap interface | 34 | * Managed iomap interface |
35 | */ | 35 | */ |
36 | #ifdef CONFIG_HAS_IOPORT | ||
36 | void __iomem * devm_ioport_map(struct device *dev, unsigned long port, | 37 | void __iomem * devm_ioport_map(struct device *dev, unsigned long port, |
37 | unsigned int nr); | 38 | unsigned int nr); |
38 | void devm_ioport_unmap(struct device *dev, void __iomem *addr); | 39 | void devm_ioport_unmap(struct device *dev, void __iomem *addr); |
40 | #else | ||
41 | static inline void __iomem *devm_ioport_map(struct device *dev, | ||
42 | unsigned long port, | ||
43 | unsigned int nr) | ||
44 | { | ||
45 | return NULL; | ||
46 | } | ||
47 | |||
48 | static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr) | ||
49 | { | ||
50 | } | ||
51 | #endif | ||
39 | 52 | ||
40 | void __iomem * devm_ioremap(struct device *dev, unsigned long offset, | 53 | void __iomem * devm_ioremap(struct device *dev, unsigned long offset, |
41 | unsigned long size); | 54 | unsigned long size); |
diff --git a/include/linux/ipc.h b/include/linux/ipc.h index 636094c29b16..6da6772c19ff 100644 --- a/include/linux/ipc.h +++ b/include/linux/ipc.h | |||
@@ -92,19 +92,16 @@ extern struct ipc_namespace init_ipc_ns; | |||
92 | 92 | ||
93 | #ifdef CONFIG_SYSVIPC | 93 | #ifdef CONFIG_SYSVIPC |
94 | #define INIT_IPC_NS(ns) .ns = &init_ipc_ns, | 94 | #define INIT_IPC_NS(ns) .ns = &init_ipc_ns, |
95 | extern int copy_ipcs(unsigned long flags, struct task_struct *tsk); | ||
95 | #else | 96 | #else |
96 | #define INIT_IPC_NS(ns) | 97 | #define INIT_IPC_NS(ns) |
98 | static inline int copy_ipcs(unsigned long flags, struct task_struct *tsk) | ||
99 | { return 0; } | ||
97 | #endif | 100 | #endif |
98 | 101 | ||
99 | #ifdef CONFIG_IPC_NS | 102 | #ifdef CONFIG_IPC_NS |
100 | extern void free_ipc_ns(struct kref *kref); | 103 | extern void free_ipc_ns(struct kref *kref); |
101 | extern int copy_ipcs(unsigned long flags, struct task_struct *tsk); | ||
102 | extern int unshare_ipcs(unsigned long flags, struct ipc_namespace **ns); | 104 | extern int unshare_ipcs(unsigned long flags, struct ipc_namespace **ns); |
103 | #else | ||
104 | static inline int copy_ipcs(unsigned long flags, struct task_struct *tsk) | ||
105 | { | ||
106 | return 0; | ||
107 | } | ||
108 | #endif | 105 | #endif |
109 | 106 | ||
110 | static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) | 107 | static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) |
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index f8241130f5ea..713eb5eaa81f 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
@@ -177,6 +177,7 @@ struct ipv6_devconf { | |||
177 | #endif | 177 | #endif |
178 | #endif | 178 | #endif |
179 | __s32 proxy_ndp; | 179 | __s32 proxy_ndp; |
180 | __s32 accept_source_route; | ||
180 | void *sysctl; | 181 | void *sysctl; |
181 | }; | 182 | }; |
182 | 183 | ||
@@ -205,6 +206,8 @@ enum { | |||
205 | DEVCONF_RTR_PROBE_INTERVAL, | 206 | DEVCONF_RTR_PROBE_INTERVAL, |
206 | DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN, | 207 | DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN, |
207 | DEVCONF_PROXY_NDP, | 208 | DEVCONF_PROXY_NDP, |
209 | __DEVCONF_OPTIMISTIC_DAD, | ||
210 | DEVCONF_ACCEPT_SOURCE_ROUTE, | ||
208 | DEVCONF_MAX | 211 | DEVCONF_MAX |
209 | }; | 212 | }; |
210 | 213 | ||
diff --git a/include/linux/kbd_kern.h b/include/linux/kbd_kern.h index 06c58c423fe1..506ad20c18f8 100644 --- a/include/linux/kbd_kern.h +++ b/include/linux/kbd_kern.h | |||
@@ -75,7 +75,7 @@ extern int do_poke_blanked_console; | |||
75 | 75 | ||
76 | extern void (*kbd_ledfunc)(unsigned int led); | 76 | extern void (*kbd_ledfunc)(unsigned int led); |
77 | 77 | ||
78 | extern void set_console(int nr); | 78 | extern int set_console(int nr); |
79 | extern void schedule_console_callback(void); | 79 | extern void schedule_console_callback(void); |
80 | 80 | ||
81 | static inline void set_leds(void) | 81 | static inline void set_leds(void) |
diff --git a/include/linux/kdev_t.h b/include/linux/kdev_t.h index 4c2c3737e415..2dacab8beccb 100644 --- a/include/linux/kdev_t.h +++ b/include/linux/kdev_t.h | |||
@@ -87,8 +87,6 @@ static inline unsigned sysv_minor(u32 dev) | |||
87 | return dev & 0x3ffff; | 87 | return dev & 0x3ffff; |
88 | } | 88 | } |
89 | 89 | ||
90 | bool is_lanana_major(unsigned int major); | ||
91 | |||
92 | #else /* __KERNEL__ */ | 90 | #else /* __KERNEL__ */ |
93 | 91 | ||
94 | /* | 92 | /* |
diff --git a/include/linux/ktime.h b/include/linux/ktime.h index c68c7ac6b232..248305bb9a18 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h | |||
@@ -57,7 +57,11 @@ typedef union { | |||
57 | } ktime_t; | 57 | } ktime_t; |
58 | 58 | ||
59 | #define KTIME_MAX ((s64)~((u64)1 << 63)) | 59 | #define KTIME_MAX ((s64)~((u64)1 << 63)) |
60 | #define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) | 60 | #if (BITS_PER_LONG == 64) |
61 | # define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) | ||
62 | #else | ||
63 | # define KTIME_SEC_MAX LONG_MAX | ||
64 | #endif | ||
61 | 65 | ||
62 | /* | 66 | /* |
63 | * ktime_t definitions when using the 64-bit scalar representation: | 67 | * ktime_t definitions when using the 64-bit scalar representation: |
diff --git a/include/linux/libata.h b/include/linux/libata.h index e3f32f3189b2..0cfbcb6f08eb 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -311,15 +311,17 @@ enum { | |||
311 | ATA_HORKAGE_DIAGNOSTIC = (1 << 0), /* Failed boot diag */ | 311 | ATA_HORKAGE_DIAGNOSTIC = (1 << 0), /* Failed boot diag */ |
312 | ATA_HORKAGE_NODMA = (1 << 1), /* DMA problems */ | 312 | ATA_HORKAGE_NODMA = (1 << 1), /* DMA problems */ |
313 | ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ | 313 | ATA_HORKAGE_NONCQ = (1 << 2), /* Don't use NCQ */ |
314 | ATA_HORKAGE_MAX_SEC_128 = (1 << 3), /* Limit max sects to 128 */ | ||
315 | ATA_HORKAGE_DMA_RW_ONLY = (1 << 4), /* ATAPI DMA for RW only */ | ||
314 | }; | 316 | }; |
315 | 317 | ||
316 | enum hsm_task_states { | 318 | enum hsm_task_states { |
317 | HSM_ST_IDLE, /* no command on going */ | 319 | HSM_ST_IDLE, /* no command on going */ |
320 | HSM_ST_FIRST, /* (waiting the device to) | ||
321 | write CDB or first data block */ | ||
318 | HSM_ST, /* (waiting the device to) transfer data */ | 322 | HSM_ST, /* (waiting the device to) transfer data */ |
319 | HSM_ST_LAST, /* (waiting the device to) complete command */ | 323 | HSM_ST_LAST, /* (waiting the device to) complete command */ |
320 | HSM_ST_ERR, /* error */ | 324 | HSM_ST_ERR, /* error */ |
321 | HSM_ST_FIRST, /* (waiting the device to) | ||
322 | write CDB or first data block */ | ||
323 | }; | 325 | }; |
324 | 326 | ||
325 | enum ata_completion_errors { | 327 | enum ata_completion_errors { |
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 06fe93a3e916..14c937d345cb 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
@@ -245,7 +245,7 @@ extern void lock_release(struct lockdep_map *lock, int nested, | |||
245 | 245 | ||
246 | # define INIT_LOCKDEP .lockdep_recursion = 0, | 246 | # define INIT_LOCKDEP .lockdep_recursion = 0, |
247 | 247 | ||
248 | #define lockdep_depth(tsk) ((tsk)->lockdep_depth) | 248 | #define lockdep_depth(tsk) (debug_locks ? (tsk)->lockdep_depth : 0) |
249 | 249 | ||
250 | #else /* !LOCKDEP */ | 250 | #else /* !LOCKDEP */ |
251 | 251 | ||
diff --git a/include/linux/msi.h b/include/linux/msi.h index 74c8a2ecc9dd..e38fe6822cb4 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h | |||
@@ -17,7 +17,7 @@ struct msi_desc { | |||
17 | struct { | 17 | struct { |
18 | __u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */ | 18 | __u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */ |
19 | __u8 maskbit : 1; /* mask-pending bit supported ? */ | 19 | __u8 maskbit : 1; /* mask-pending bit supported ? */ |
20 | __u8 unused : 1; | 20 | __u8 masked : 1; |
21 | __u8 is_64 : 1; /* Address size: 0=32bit 1=64bit */ | 21 | __u8 is_64 : 1; /* Address size: 0=32bit 1=64bit */ |
22 | __u8 pos; /* Location of the msi capability */ | 22 | __u8 pos; /* Location of the msi capability */ |
23 | __u16 entry_nr; /* specific enabled entry */ | 23 | __u16 entry_nr; /* specific enabled entry */ |
@@ -32,10 +32,8 @@ struct msi_desc { | |||
32 | void __iomem *mask_base; | 32 | void __iomem *mask_base; |
33 | struct pci_dev *dev; | 33 | struct pci_dev *dev; |
34 | 34 | ||
35 | #ifdef CONFIG_PM | 35 | /* Last set MSI message */ |
36 | /* PM save area for MSIX address/data */ | 36 | struct msi_msg msg; |
37 | struct msi_msg msg_save; | ||
38 | #endif | ||
39 | }; | 37 | }; |
40 | 38 | ||
41 | /* | 39 | /* |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 47aaa2c66738..e9ae0c6e2c62 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -415,6 +415,7 @@ extern void nfs_complete_unlink(struct dentry *); | |||
415 | /* | 415 | /* |
416 | * linux/fs/nfs/write.c | 416 | * linux/fs/nfs/write.c |
417 | */ | 417 | */ |
418 | extern int nfs_congestion_kb; | ||
418 | extern int nfs_writepage(struct page *page, struct writeback_control *wbc); | 419 | extern int nfs_writepage(struct page *page, struct writeback_control *wbc); |
419 | extern int nfs_writepages(struct address_space *, struct writeback_control *); | 420 | extern int nfs_writepages(struct address_space *, struct writeback_control *); |
420 | extern int nfs_flush_incompatible(struct file *file, struct page *page); | 421 | extern int nfs_flush_incompatible(struct file *file, struct page *page); |
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index 95796e6924f1..c95d5e642548 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
@@ -82,6 +82,7 @@ struct nfs_server { | |||
82 | struct rpc_clnt * client_acl; /* ACL RPC client handle */ | 82 | struct rpc_clnt * client_acl; /* ACL RPC client handle */ |
83 | struct nfs_iostats * io_stats; /* I/O statistics */ | 83 | struct nfs_iostats * io_stats; /* I/O statistics */ |
84 | struct backing_dev_info backing_dev_info; | 84 | struct backing_dev_info backing_dev_info; |
85 | atomic_t writeback; /* number of writeback pages */ | ||
85 | int flags; /* various flags */ | 86 | int flags; /* various flags */ |
86 | unsigned int caps; /* server capabilities */ | 87 | unsigned int caps; /* server capabilities */ |
87 | unsigned int rsize; /* read size */ | 88 | unsigned int rsize; /* read size */ |
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 2e555d49c9b7..16b0266b14fd 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
@@ -31,7 +31,6 @@ | |||
31 | #define PG_NEED_COMMIT 1 | 31 | #define PG_NEED_COMMIT 1 |
32 | #define PG_NEED_RESCHED 2 | 32 | #define PG_NEED_RESCHED 2 |
33 | #define PG_NEED_FLUSH 3 | 33 | #define PG_NEED_FLUSH 3 |
34 | #define PG_FLUSHING 4 | ||
35 | 34 | ||
36 | struct nfs_inode; | 35 | struct nfs_inode; |
37 | struct nfs_page { | 36 | struct nfs_page { |
@@ -50,8 +49,6 @@ struct nfs_page { | |||
50 | }; | 49 | }; |
51 | 50 | ||
52 | #define NFS_WBACK_BUSY(req) (test_bit(PG_BUSY,&(req)->wb_flags)) | 51 | #define NFS_WBACK_BUSY(req) (test_bit(PG_BUSY,&(req)->wb_flags)) |
53 | #define NFS_NEED_COMMIT(req) (test_bit(PG_NEED_COMMIT,&(req)->wb_flags)) | ||
54 | #define NFS_NEED_RESCHED(req) (test_bit(PG_NEED_RESCHED,&(req)->wb_flags)) | ||
55 | 52 | ||
56 | extern struct nfs_page *nfs_create_request(struct nfs_open_context *ctx, | 53 | extern struct nfs_page *nfs_create_request(struct nfs_open_context *ctx, |
57 | struct inode *inode, | 54 | struct inode *inode, |
@@ -122,34 +119,6 @@ nfs_list_remove_request(struct nfs_page *req) | |||
122 | req->wb_list_head = NULL; | 119 | req->wb_list_head = NULL; |
123 | } | 120 | } |
124 | 121 | ||
125 | static inline int | ||
126 | nfs_defer_commit(struct nfs_page *req) | ||
127 | { | ||
128 | return !test_and_set_bit(PG_NEED_COMMIT, &req->wb_flags); | ||
129 | } | ||
130 | |||
131 | static inline void | ||
132 | nfs_clear_commit(struct nfs_page *req) | ||
133 | { | ||
134 | smp_mb__before_clear_bit(); | ||
135 | clear_bit(PG_NEED_COMMIT, &req->wb_flags); | ||
136 | smp_mb__after_clear_bit(); | ||
137 | } | ||
138 | |||
139 | static inline int | ||
140 | nfs_defer_reschedule(struct nfs_page *req) | ||
141 | { | ||
142 | return !test_and_set_bit(PG_NEED_RESCHED, &req->wb_flags); | ||
143 | } | ||
144 | |||
145 | static inline void | ||
146 | nfs_clear_reschedule(struct nfs_page *req) | ||
147 | { | ||
148 | smp_mb__before_clear_bit(); | ||
149 | clear_bit(PG_NEED_RESCHED, &req->wb_flags); | ||
150 | smp_mb__after_clear_bit(); | ||
151 | } | ||
152 | |||
153 | static inline struct nfs_page * | 122 | static inline struct nfs_page * |
154 | nfs_list_entry(struct list_head *head) | 123 | nfs_list_entry(struct list_head *head) |
155 | { | 124 | { |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 78417e421b4c..481ea0663f19 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -209,11 +209,6 @@ static inline void pci_add_saved_cap(struct pci_dev *pci_dev, | |||
209 | hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space); | 209 | hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space); |
210 | } | 210 | } |
211 | 211 | ||
212 | static inline void pci_remove_saved_cap(struct pci_cap_saved_state *cap) | ||
213 | { | ||
214 | hlist_del(&cap->next); | ||
215 | } | ||
216 | |||
217 | /* | 212 | /* |
218 | * For PCI devices, the region numbers are assigned this way: | 213 | * For PCI devices, the region numbers are assigned this way: |
219 | * | 214 | * |
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index f09cce2357ff..495d368390e0 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h | |||
@@ -296,6 +296,7 @@ | |||
296 | #define PCI_MSIX_FLAGS 2 | 296 | #define PCI_MSIX_FLAGS 2 |
297 | #define PCI_MSIX_FLAGS_QSIZE 0x7FF | 297 | #define PCI_MSIX_FLAGS_QSIZE 0x7FF |
298 | #define PCI_MSIX_FLAGS_ENABLE (1 << 15) | 298 | #define PCI_MSIX_FLAGS_ENABLE (1 << 15) |
299 | #define PCI_MSIX_FLAGS_MASKALL (1 << 14) | ||
299 | #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) | 300 | #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) |
300 | #define PCI_MSIX_FLAGS_BITMASK (1 << 0) | 301 | #define PCI_MSIX_FLAGS_BITMASK (1 << 0) |
301 | 302 | ||
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 2e19478e9e84..8bcbc54e1b48 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -99,4 +99,8 @@ extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *, | |||
99 | loff_t *, size_t, unsigned int, | 99 | loff_t *, size_t, unsigned int, |
100 | splice_actor *); | 100 | splice_actor *); |
101 | 101 | ||
102 | extern ssize_t __splice_from_pipe(struct pipe_inode_info *, struct file *, | ||
103 | loff_t *, size_t, unsigned int, | ||
104 | splice_actor *); | ||
105 | |||
102 | #endif | 106 | #endif |
diff --git a/include/linux/plist.h b/include/linux/plist.h index b95818a037ad..85de2f055874 100644 --- a/include/linux/plist.h +++ b/include/linux/plist.h | |||
@@ -97,9 +97,9 @@ struct plist_node { | |||
97 | #endif | 97 | #endif |
98 | 98 | ||
99 | /** | 99 | /** |
100 | * #PLIST_HEAD_INIT - static struct plist_head initializer | 100 | * PLIST_HEAD_INIT - static struct plist_head initializer |
101 | * | ||
102 | * @head: struct plist_head variable name | 101 | * @head: struct plist_head variable name |
102 | * @_lock: lock to initialize for this list | ||
103 | */ | 103 | */ |
104 | #define PLIST_HEAD_INIT(head, _lock) \ | 104 | #define PLIST_HEAD_INIT(head, _lock) \ |
105 | { \ | 105 | { \ |
@@ -109,8 +109,7 @@ struct plist_node { | |||
109 | } | 109 | } |
110 | 110 | ||
111 | /** | 111 | /** |
112 | * #PLIST_NODE_INIT - static struct plist_node initializer | 112 | * PLIST_NODE_INIT - static struct plist_node initializer |
113 | * | ||
114 | * @node: struct plist_node variable name | 113 | * @node: struct plist_node variable name |
115 | * @__prio: initial node priority | 114 | * @__prio: initial node priority |
116 | */ | 115 | */ |
@@ -122,8 +121,8 @@ struct plist_node { | |||
122 | 121 | ||
123 | /** | 122 | /** |
124 | * plist_head_init - dynamic struct plist_head initializer | 123 | * plist_head_init - dynamic struct plist_head initializer |
125 | * | ||
126 | * @head: &struct plist_head pointer | 124 | * @head: &struct plist_head pointer |
125 | * @lock: list spinlock, remembered for debugging | ||
127 | */ | 126 | */ |
128 | static inline void | 127 | static inline void |
129 | plist_head_init(struct plist_head *head, spinlock_t *lock) | 128 | plist_head_init(struct plist_head *head, spinlock_t *lock) |
@@ -137,7 +136,6 @@ plist_head_init(struct plist_head *head, spinlock_t *lock) | |||
137 | 136 | ||
138 | /** | 137 | /** |
139 | * plist_node_init - Dynamic struct plist_node initializer | 138 | * plist_node_init - Dynamic struct plist_node initializer |
140 | * | ||
141 | * @node: &struct plist_node pointer | 139 | * @node: &struct plist_node pointer |
142 | * @prio: initial node priority | 140 | * @prio: initial node priority |
143 | */ | 141 | */ |
@@ -152,49 +150,46 @@ extern void plist_del(struct plist_node *node, struct plist_head *head); | |||
152 | 150 | ||
153 | /** | 151 | /** |
154 | * plist_for_each - iterate over the plist | 152 | * plist_for_each - iterate over the plist |
155 | * | 153 | * @pos: the type * to use as a loop counter |
156 | * @pos1: the type * to use as a loop counter. | 154 | * @head: the head for your list |
157 | * @head: the head for your list. | ||
158 | */ | 155 | */ |
159 | #define plist_for_each(pos, head) \ | 156 | #define plist_for_each(pos, head) \ |
160 | list_for_each_entry(pos, &(head)->node_list, plist.node_list) | 157 | list_for_each_entry(pos, &(head)->node_list, plist.node_list) |
161 | 158 | ||
162 | /** | 159 | /** |
163 | * plist_for_each_entry_safe - iterate over a plist of given type safe | 160 | * plist_for_each_safe - iterate safely over a plist of given type |
164 | * against removal of list entry | 161 | * @pos: the type * to use as a loop counter |
162 | * @n: another type * to use as temporary storage | ||
163 | * @head: the head for your list | ||
165 | * | 164 | * |
166 | * @pos1: the type * to use as a loop counter. | 165 | * Iterate over a plist of given type, safe against removal of list entry. |
167 | * @n1: another type * to use as temporary storage | ||
168 | * @head: the head for your list. | ||
169 | */ | 166 | */ |
170 | #define plist_for_each_safe(pos, n, head) \ | 167 | #define plist_for_each_safe(pos, n, head) \ |
171 | list_for_each_entry_safe(pos, n, &(head)->node_list, plist.node_list) | 168 | list_for_each_entry_safe(pos, n, &(head)->node_list, plist.node_list) |
172 | 169 | ||
173 | /** | 170 | /** |
174 | * plist_for_each_entry - iterate over list of given type | 171 | * plist_for_each_entry - iterate over list of given type |
175 | * | 172 | * @pos: the type * to use as a loop counter |
176 | * @pos: the type * to use as a loop counter. | 173 | * @head: the head for your list |
177 | * @head: the head for your list. | 174 | * @mem: the name of the list_struct within the struct |
178 | * @member: the name of the list_struct within the struct. | ||
179 | */ | 175 | */ |
180 | #define plist_for_each_entry(pos, head, mem) \ | 176 | #define plist_for_each_entry(pos, head, mem) \ |
181 | list_for_each_entry(pos, &(head)->node_list, mem.plist.node_list) | 177 | list_for_each_entry(pos, &(head)->node_list, mem.plist.node_list) |
182 | 178 | ||
183 | /** | 179 | /** |
184 | * plist_for_each_entry_safe - iterate over list of given type safe against | 180 | * plist_for_each_entry_safe - iterate safely over list of given type |
185 | * removal of list entry | 181 | * @pos: the type * to use as a loop counter |
186 | * | ||
187 | * @pos: the type * to use as a loop counter. | ||
188 | * @n: another type * to use as temporary storage | 182 | * @n: another type * to use as temporary storage |
189 | * @head: the head for your list. | 183 | * @head: the head for your list |
190 | * @m: the name of the list_struct within the struct. | 184 | * @m: the name of the list_struct within the struct |
185 | * | ||
186 | * Iterate over list of given type, safe against removal of list entry. | ||
191 | */ | 187 | */ |
192 | #define plist_for_each_entry_safe(pos, n, head, m) \ | 188 | #define plist_for_each_entry_safe(pos, n, head, m) \ |
193 | list_for_each_entry_safe(pos, n, &(head)->node_list, m.plist.node_list) | 189 | list_for_each_entry_safe(pos, n, &(head)->node_list, m.plist.node_list) |
194 | 190 | ||
195 | /** | 191 | /** |
196 | * plist_head_empty - return !0 if a plist_head is empty | 192 | * plist_head_empty - return !0 if a plist_head is empty |
197 | * | ||
198 | * @head: &struct plist_head pointer | 193 | * @head: &struct plist_head pointer |
199 | */ | 194 | */ |
200 | static inline int plist_head_empty(const struct plist_head *head) | 195 | static inline int plist_head_empty(const struct plist_head *head) |
@@ -204,7 +199,6 @@ static inline int plist_head_empty(const struct plist_head *head) | |||
204 | 199 | ||
205 | /** | 200 | /** |
206 | * plist_node_empty - return !0 if plist_node is not on a list | 201 | * plist_node_empty - return !0 if plist_node is not on a list |
207 | * | ||
208 | * @node: &struct plist_node pointer | 202 | * @node: &struct plist_node pointer |
209 | */ | 203 | */ |
210 | static inline int plist_node_empty(const struct plist_node *node) | 204 | static inline int plist_node_empty(const struct plist_node *node) |
@@ -216,10 +210,9 @@ static inline int plist_node_empty(const struct plist_node *node) | |||
216 | 210 | ||
217 | /** | 211 | /** |
218 | * plist_first_entry - get the struct for the first entry | 212 | * plist_first_entry - get the struct for the first entry |
219 | * | 213 | * @head: the &struct plist_head pointer |
220 | * @ptr: the &struct plist_head pointer. | 214 | * @type: the type of the struct this is embedded in |
221 | * @type: the type of the struct this is embedded in. | 215 | * @member: the name of the list_struct within the struct |
222 | * @member: the name of the list_struct within the struct. | ||
223 | */ | 216 | */ |
224 | #ifdef CONFIG_DEBUG_PI_LIST | 217 | #ifdef CONFIG_DEBUG_PI_LIST |
225 | # define plist_first_entry(head, type, member) \ | 218 | # define plist_first_entry(head, type, member) \ |
@@ -234,7 +227,6 @@ static inline int plist_node_empty(const struct plist_node *node) | |||
234 | 227 | ||
235 | /** | 228 | /** |
236 | * plist_first - return the first node (and thus, highest priority) | 229 | * plist_first - return the first node (and thus, highest priority) |
237 | * | ||
238 | * @head: the &struct plist_head pointer | 230 | * @head: the &struct plist_head pointer |
239 | * | 231 | * |
240 | * Assumes the plist is _not_ empty. | 232 | * Assumes the plist is _not_ empty. |
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index 8245c282168b..de72c49747c8 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h | |||
@@ -104,6 +104,7 @@ struct mdk_rdev_s | |||
104 | * for reporting to userspace and storing | 104 | * for reporting to userspace and storing |
105 | * in superblock. | 105 | * in superblock. |
106 | */ | 106 | */ |
107 | struct work_struct del_work; /* used for delayed sysfs removal */ | ||
107 | }; | 108 | }; |
108 | 109 | ||
109 | struct mddev_s | 110 | struct mddev_s |
diff --git a/include/linux/security.h b/include/linux/security.h index 7f88d97575fd..47e82c120f9a 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -1324,7 +1324,7 @@ struct security_operations { | |||
1324 | 1324 | ||
1325 | void (*d_instantiate) (struct dentry *dentry, struct inode *inode); | 1325 | void (*d_instantiate) (struct dentry *dentry, struct inode *inode); |
1326 | 1326 | ||
1327 | int (*getprocattr)(struct task_struct *p, char *name, void *value, size_t size); | 1327 | int (*getprocattr)(struct task_struct *p, char *name, char **value); |
1328 | int (*setprocattr)(struct task_struct *p, char *name, void *value, size_t size); | 1328 | int (*setprocattr)(struct task_struct *p, char *name, void *value, size_t size); |
1329 | int (*secid_to_secctx)(u32 secid, char **secdata, u32 *seclen); | 1329 | int (*secid_to_secctx)(u32 secid, char **secdata, u32 *seclen); |
1330 | void (*release_secctx)(char *secdata, u32 seclen); | 1330 | void (*release_secctx)(char *secdata, u32 seclen); |
@@ -2092,9 +2092,9 @@ static inline void security_d_instantiate (struct dentry *dentry, struct inode * | |||
2092 | security_ops->d_instantiate (dentry, inode); | 2092 | security_ops->d_instantiate (dentry, inode); |
2093 | } | 2093 | } |
2094 | 2094 | ||
2095 | static inline int security_getprocattr(struct task_struct *p, char *name, void *value, size_t size) | 2095 | static inline int security_getprocattr(struct task_struct *p, char *name, char **value) |
2096 | { | 2096 | { |
2097 | return security_ops->getprocattr(p, name, value, size); | 2097 | return security_ops->getprocattr(p, name, value); |
2098 | } | 2098 | } |
2099 | 2099 | ||
2100 | static inline int security_setprocattr(struct task_struct *p, char *name, void *value, size_t size) | 2100 | static inline int security_setprocattr(struct task_struct *p, char *name, void *value, size_t size) |
@@ -2749,7 +2749,7 @@ static inline int security_sem_semop (struct sem_array * sma, | |||
2749 | static inline void security_d_instantiate (struct dentry *dentry, struct inode *inode) | 2749 | static inline void security_d_instantiate (struct dentry *dentry, struct inode *inode) |
2750 | { } | 2750 | { } |
2751 | 2751 | ||
2752 | static inline int security_getprocattr(struct task_struct *p, char *name, void *value, size_t size) | 2752 | static inline int security_getprocattr(struct task_struct *p, char *name, char **value) |
2753 | { | 2753 | { |
2754 | return -EINVAL; | 2754 | return -EINVAL; |
2755 | } | 2755 | } |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 4ff3940210d8..5992f65b4184 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -188,7 +188,7 @@ enum { | |||
188 | * @sk: Socket we are owned by | 188 | * @sk: Socket we are owned by |
189 | * @tstamp: Time we arrived | 189 | * @tstamp: Time we arrived |
190 | * @dev: Device we arrived on/are leaving by | 190 | * @dev: Device we arrived on/are leaving by |
191 | * @input_dev: Device we arrived on | 191 | * @iif: ifindex of device we arrived on |
192 | * @h: Transport layer header | 192 | * @h: Transport layer header |
193 | * @nh: Network layer header | 193 | * @nh: Network layer header |
194 | * @mac: Link layer header | 194 | * @mac: Link layer header |
@@ -235,7 +235,8 @@ struct sk_buff { | |||
235 | struct sock *sk; | 235 | struct sock *sk; |
236 | struct skb_timeval tstamp; | 236 | struct skb_timeval tstamp; |
237 | struct net_device *dev; | 237 | struct net_device *dev; |
238 | struct net_device *input_dev; | 238 | int iif; |
239 | /* 4 byte hole on 64 bit*/ | ||
239 | 240 | ||
240 | union { | 241 | union { |
241 | struct tcphdr *th; | 242 | struct tcphdr *th; |
@@ -345,9 +346,6 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size, | |||
345 | return __alloc_skb(size, priority, 1, -1); | 346 | return __alloc_skb(size, priority, 1, -1); |
346 | } | 347 | } |
347 | 348 | ||
348 | extern struct sk_buff *alloc_skb_from_cache(struct kmem_cache *cp, | ||
349 | unsigned int size, | ||
350 | gfp_t priority); | ||
351 | extern void kfree_skbmem(struct sk_buff *skb); | 349 | extern void kfree_skbmem(struct sk_buff *skb); |
352 | extern struct sk_buff *skb_clone(struct sk_buff *skb, | 350 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
353 | gfp_t priority); | 351 | gfp_t priority); |
@@ -621,6 +619,13 @@ static inline void skb_queue_head_init(struct sk_buff_head *list) | |||
621 | list->qlen = 0; | 619 | list->qlen = 0; |
622 | } | 620 | } |
623 | 621 | ||
622 | static inline void skb_queue_head_init_class(struct sk_buff_head *list, | ||
623 | struct lock_class_key *class) | ||
624 | { | ||
625 | skb_queue_head_init(list); | ||
626 | lockdep_set_class(&list->lock, class); | ||
627 | } | ||
628 | |||
624 | /* | 629 | /* |
625 | * Insert an sk_buff at the start of a list. | 630 | * Insert an sk_buff at the start of a list. |
626 | * | 631 | * |
diff --git a/include/linux/spi/spi_bitbang.h b/include/linux/spi/spi_bitbang.h index 2e8c048b9b80..9dbca629dcfb 100644 --- a/include/linux/spi/spi_bitbang.h +++ b/include/linux/spi/spi_bitbang.h | |||
@@ -25,7 +25,6 @@ struct spi_bitbang { | |||
25 | spinlock_t lock; | 25 | spinlock_t lock; |
26 | struct list_head queue; | 26 | struct list_head queue; |
27 | u8 busy; | 27 | u8 busy; |
28 | u8 shutdown; | ||
29 | u8 use_dma; | 28 | u8 use_dma; |
30 | 29 | ||
31 | struct spi_master *master; | 30 | struct spi_master *master; |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 2c5fb38d9392..9a8970bf99a6 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -580,6 +580,7 @@ enum { | |||
580 | NET_IPV6_RTR_PROBE_INTERVAL=21, | 580 | NET_IPV6_RTR_PROBE_INTERVAL=21, |
581 | NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, | 581 | NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, |
582 | NET_IPV6_PROXY_NDP=23, | 582 | NET_IPV6_PROXY_NDP=23, |
583 | NET_IPV6_ACCEPT_SOURCE_ROUTE=25, | ||
583 | __NET_IPV6_MAX | 584 | __NET_IPV6_MAX |
584 | }; | 585 | }; |
585 | 586 | ||
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 523405e1e1f6..fea9a6b3fb7b 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #define _SYSFS_H_ | 11 | #define _SYSFS_H_ |
12 | 12 | ||
13 | #include <linux/compiler.h> | 13 | #include <linux/compiler.h> |
14 | #include <linux/errno.h> | ||
14 | #include <linux/list.h> | 15 | #include <linux/list.h> |
15 | #include <asm/atomic.h> | 16 | #include <asm/atomic.h> |
16 | 17 | ||
@@ -78,6 +79,9 @@ struct sysfs_ops { | |||
78 | 79 | ||
79 | #ifdef CONFIG_SYSFS | 80 | #ifdef CONFIG_SYSFS |
80 | 81 | ||
82 | extern int sysfs_schedule_callback(struct kobject *kobj, | ||
83 | void (*func)(void *), void *data); | ||
84 | |||
81 | extern int __must_check | 85 | extern int __must_check |
82 | sysfs_create_dir(struct kobject *, struct dentry *); | 86 | sysfs_create_dir(struct kobject *, struct dentry *); |
83 | 87 | ||
@@ -132,6 +136,12 @@ extern int __must_check sysfs_init(void); | |||
132 | 136 | ||
133 | #else /* CONFIG_SYSFS */ | 137 | #else /* CONFIG_SYSFS */ |
134 | 138 | ||
139 | static inline int sysfs_schedule_callback(struct kobject *kobj, | ||
140 | void (*func)(void *), void *data) | ||
141 | { | ||
142 | return -ENOSYS; | ||
143 | } | ||
144 | |||
135 | static inline int sysfs_create_dir(struct kobject * k, struct dentry *shadow) | 145 | static inline int sysfs_create_dir(struct kobject * k, struct dentry *shadow) |
136 | { | 146 | { |
137 | return 0; | 147 | return 0; |
diff --git a/include/linux/taskstats.h b/include/linux/taskstats.h index 3fced4798255..a46104a28f66 100644 --- a/include/linux/taskstats.h +++ b/include/linux/taskstats.h | |||
@@ -31,7 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | 33 | ||
34 | #define TASKSTATS_VERSION 3 | 34 | #define TASKSTATS_VERSION 4 |
35 | #define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN | 35 | #define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN |
36 | * in linux/sched.h */ | 36 | * in linux/sched.h */ |
37 | 37 | ||
@@ -66,7 +66,7 @@ struct taskstats { | |||
66 | /* Delay waiting for cpu, while runnable | 66 | /* Delay waiting for cpu, while runnable |
67 | * count, delay_total NOT updated atomically | 67 | * count, delay_total NOT updated atomically |
68 | */ | 68 | */ |
69 | __u64 cpu_count; | 69 | __u64 cpu_count __attribute__((aligned(8))); |
70 | __u64 cpu_delay_total; | 70 | __u64 cpu_delay_total; |
71 | 71 | ||
72 | /* Following four fields atomically updated using task->delays->lock */ | 72 | /* Following four fields atomically updated using task->delays->lock */ |
@@ -101,14 +101,17 @@ struct taskstats { | |||
101 | 101 | ||
102 | /* Basic Accounting Fields start */ | 102 | /* Basic Accounting Fields start */ |
103 | char ac_comm[TS_COMM_LEN]; /* Command name */ | 103 | char ac_comm[TS_COMM_LEN]; /* Command name */ |
104 | __u8 ac_sched; /* Scheduling discipline */ | 104 | __u8 ac_sched __attribute__((aligned(8))); |
105 | /* Scheduling discipline */ | ||
105 | __u8 ac_pad[3]; | 106 | __u8 ac_pad[3]; |
106 | __u32 ac_uid; /* User ID */ | 107 | __u32 ac_uid __attribute__((aligned(8))); |
108 | /* User ID */ | ||
107 | __u32 ac_gid; /* Group ID */ | 109 | __u32 ac_gid; /* Group ID */ |
108 | __u32 ac_pid; /* Process ID */ | 110 | __u32 ac_pid; /* Process ID */ |
109 | __u32 ac_ppid; /* Parent process ID */ | 111 | __u32 ac_ppid; /* Parent process ID */ |
110 | __u32 ac_btime; /* Begin time [sec since 1970] */ | 112 | __u32 ac_btime; /* Begin time [sec since 1970] */ |
111 | __u64 ac_etime; /* Elapsed time [usec] */ | 113 | __u64 ac_etime __attribute__((aligned(8))); |
114 | /* Elapsed time [usec] */ | ||
112 | __u64 ac_utime; /* User CPU time [usec] */ | 115 | __u64 ac_utime; /* User CPU time [usec] */ |
113 | __u64 ac_stime; /* SYstem CPU time [usec] */ | 116 | __u64 ac_stime; /* SYstem CPU time [usec] */ |
114 | __u64 ac_minflt; /* Minor Page Fault Count */ | 117 | __u64 ac_minflt; /* Minor Page Fault Count */ |
diff --git a/include/linux/ufs_fs.h b/include/linux/ufs_fs.h index dc2e9fe69418..daeba22b7656 100644 --- a/include/linux/ufs_fs.h +++ b/include/linux/ufs_fs.h | |||
@@ -649,10 +649,10 @@ struct ufs2_inode { | |||
649 | __fs32 ui_blksize; /* 12: Inode blocksize. */ | 649 | __fs32 ui_blksize; /* 12: Inode blocksize. */ |
650 | __fs64 ui_size; /* 16: File byte count. */ | 650 | __fs64 ui_size; /* 16: File byte count. */ |
651 | __fs64 ui_blocks; /* 24: Bytes actually held. */ | 651 | __fs64 ui_blocks; /* 24: Bytes actually held. */ |
652 | struct ufs_timeval ui_atime; /* 32: Last access time. */ | 652 | __fs64 ui_atime; /* 32: Last access time. */ |
653 | struct ufs_timeval ui_mtime; /* 40: Last modified time. */ | 653 | __fs64 ui_mtime; /* 40: Last modified time. */ |
654 | struct ufs_timeval ui_ctime; /* 48: Last inode change time. */ | 654 | __fs64 ui_ctime; /* 48: Last inode change time. */ |
655 | struct ufs_timeval ui_birthtime; /* 56: Inode creation time. */ | 655 | __fs64 ui_birthtime; /* 56: Inode creation time. */ |
656 | __fs32 ui_mtimensec; /* 64: Last modified time. */ | 656 | __fs32 ui_mtimensec; /* 64: Last modified time. */ |
657 | __fs32 ui_atimensec; /* 68: Last access time. */ | 657 | __fs32 ui_atimensec; /* 68: Last access time. */ |
658 | __fs32 ui_ctimensec; /* 72: Last inode change time. */ | 658 | __fs32 ui_ctimensec; /* 72: Last inode change time. */ |
diff --git a/include/linux/utsname.h b/include/linux/utsname.h index a4555fe3754c..e10267d402c5 100644 --- a/include/linux/utsname.h +++ b/include/linux/utsname.h | |||
@@ -70,6 +70,8 @@ static inline int unshare_utsname(unsigned long unshare_flags, | |||
70 | 70 | ||
71 | static inline int copy_utsname(int flags, struct task_struct *tsk) | 71 | static inline int copy_utsname(int flags, struct task_struct *tsk) |
72 | { | 72 | { |
73 | if (flags & CLONE_NEWUTS) | ||
74 | return -EINVAL; | ||
73 | return 0; | 75 | return 0; |
74 | } | 76 | } |
75 | static inline void put_uts_ns(struct uts_namespace *ns) | 77 | static inline void put_uts_ns(struct uts_namespace *ns) |
diff --git a/include/linux/vt_kern.h b/include/linux/vt_kern.h index 37a1a41f5b65..e0db669998f3 100644 --- a/include/linux/vt_kern.h +++ b/include/linux/vt_kern.h | |||
@@ -83,6 +83,7 @@ void reset_vc(struct vc_data *vc); | |||
83 | #define CON_BUF_SIZE (CONFIG_BASE_SMALL ? 256 : PAGE_SIZE) | 83 | #define CON_BUF_SIZE (CONFIG_BASE_SMALL ? 256 : PAGE_SIZE) |
84 | extern char con_buf[CON_BUF_SIZE]; | 84 | extern char con_buf[CON_BUF_SIZE]; |
85 | extern struct semaphore con_buf_sem; | 85 | extern struct semaphore con_buf_sem; |
86 | extern char vt_dont_switch; | ||
86 | 87 | ||
87 | struct vt_spawn_console { | 88 | struct vt_spawn_console { |
88 | spinlock_t lock; | 89 | spinlock_t lock; |
diff --git a/include/linux/wireless.h b/include/linux/wireless.h index 447c52beb691..48759b2f57d7 100644 --- a/include/linux/wireless.h +++ b/include/linux/wireless.h | |||
@@ -1,10 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * This file define a set of standard wireless extensions | 2 | * This file define a set of standard wireless extensions |
3 | * | 3 | * |
4 | * Version : 21 14.3.06 | 4 | * Version : 22 16.3.07 |
5 | * | 5 | * |
6 | * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com> | 6 | * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com> |
7 | * Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved. | 7 | * Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #ifndef _LINUX_WIRELESS_H | 10 | #ifndef _LINUX_WIRELESS_H |
@@ -85,7 +85,7 @@ | |||
85 | * (there is some stuff that will be added in the future...) | 85 | * (there is some stuff that will be added in the future...) |
86 | * I just plan to increment with each new version. | 86 | * I just plan to increment with each new version. |
87 | */ | 87 | */ |
88 | #define WIRELESS_EXT 21 | 88 | #define WIRELESS_EXT 22 |
89 | 89 | ||
90 | /* | 90 | /* |
91 | * Changes : | 91 | * Changes : |
@@ -221,6 +221,10 @@ | |||
221 | * - Add IW_RETRY_SHORT/IW_RETRY_LONG retry modifiers | 221 | * - Add IW_RETRY_SHORT/IW_RETRY_LONG retry modifiers |
222 | * - Power/Retry relative values no longer * 100000 | 222 | * - Power/Retry relative values no longer * 100000 |
223 | * - Add explicit flag to tell stats are in 802.11k RCPI : IW_QUAL_RCPI | 223 | * - Add explicit flag to tell stats are in 802.11k RCPI : IW_QUAL_RCPI |
224 | * | ||
225 | * V21 to V22 | ||
226 | * ---------- | ||
227 | * - Prevent leaking of kernel space in stream on 64 bits. | ||
224 | */ | 228 | */ |
225 | 229 | ||
226 | /**************************** CONSTANTS ****************************/ | 230 | /**************************** CONSTANTS ****************************/ |
@@ -1085,4 +1089,15 @@ struct iw_event | |||
1085 | #define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - \ | 1089 | #define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - \ |
1086 | IW_EV_POINT_OFF) | 1090 | IW_EV_POINT_OFF) |
1087 | 1091 | ||
1092 | /* Size of the Event prefix when packed in stream */ | ||
1093 | #define IW_EV_LCP_PK_LEN (4) | ||
1094 | /* Size of the various events when packed in stream */ | ||
1095 | #define IW_EV_CHAR_PK_LEN (IW_EV_LCP_PK_LEN + IFNAMSIZ) | ||
1096 | #define IW_EV_UINT_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(__u32)) | ||
1097 | #define IW_EV_FREQ_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_freq)) | ||
1098 | #define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param)) | ||
1099 | #define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr)) | ||
1100 | #define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality)) | ||
1101 | #define IW_EV_POINT_PK_LEN (IW_EV_LCP_LEN + 4) | ||
1102 | |||
1088 | #endif /* _LINUX_WIRELESS_H */ | 1103 | #endif /* _LINUX_WIRELESS_H */ |