diff options
| author | David Woodhouse <dwmw2@infradead.org> | 2007-04-26 04:31:28 -0400 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2007-04-26 04:31:28 -0400 |
| commit | ef2e58ea6b9931c3a4816c66593da49bb20e3b24 (patch) | |
| tree | ce7432add3becbe78de4ea06425cd2d9e91f4ada /include/linux | |
| parent | 06d63cc51d47f572009138a7f3ac34d95773405d (diff) | |
| parent | de46c33745f5e2ad594c72f2cf5f490861b16ce1 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
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 */ |
