diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cpuidle.h | 17 | ||||
| -rw-r--r-- | include/linux/interrupt.h | 9 | ||||
| -rw-r--r-- | include/linux/irqdesc.h | 1 | ||||
| -rw-r--r-- | include/linux/mlx4/qp.h | 2 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 1 | ||||
| -rw-r--r-- | include/linux/nfs_fs.h | 5 | ||||
| -rw-r--r-- | include/linux/rhashtable.h | 22 | ||||
| -rw-r--r-- | include/linux/serial_core.h | 14 | ||||
| -rw-r--r-- | include/linux/usb/serial.h | 3 | ||||
| -rw-r--r-- | include/linux/workqueue.h | 3 |
10 files changed, 45 insertions, 32 deletions
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h index f551a9299ac9..306178d7309f 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h | |||
| @@ -126,6 +126,8 @@ struct cpuidle_driver { | |||
| 126 | 126 | ||
| 127 | #ifdef CONFIG_CPU_IDLE | 127 | #ifdef CONFIG_CPU_IDLE |
| 128 | extern void disable_cpuidle(void); | 128 | extern void disable_cpuidle(void); |
| 129 | extern bool cpuidle_not_available(struct cpuidle_driver *drv, | ||
| 130 | struct cpuidle_device *dev); | ||
| 129 | 131 | ||
| 130 | extern int cpuidle_select(struct cpuidle_driver *drv, | 132 | extern int cpuidle_select(struct cpuidle_driver *drv, |
| 131 | struct cpuidle_device *dev); | 133 | struct cpuidle_device *dev); |
| @@ -150,11 +152,17 @@ extern void cpuidle_resume(void); | |||
| 150 | extern int cpuidle_enable_device(struct cpuidle_device *dev); | 152 | extern int cpuidle_enable_device(struct cpuidle_device *dev); |
| 151 | extern void cpuidle_disable_device(struct cpuidle_device *dev); | 153 | extern void cpuidle_disable_device(struct cpuidle_device *dev); |
| 152 | extern int cpuidle_play_dead(void); | 154 | extern int cpuidle_play_dead(void); |
| 153 | extern void cpuidle_enter_freeze(void); | 155 | extern int cpuidle_find_deepest_state(struct cpuidle_driver *drv, |
| 156 | struct cpuidle_device *dev); | ||
| 157 | extern int cpuidle_enter_freeze(struct cpuidle_driver *drv, | ||
| 158 | struct cpuidle_device *dev); | ||
| 154 | 159 | ||
| 155 | extern struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev); | 160 | extern struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev); |
| 156 | #else | 161 | #else |
| 157 | static inline void disable_cpuidle(void) { } | 162 | static inline void disable_cpuidle(void) { } |
| 163 | static inline bool cpuidle_not_available(struct cpuidle_driver *drv, | ||
| 164 | struct cpuidle_device *dev) | ||
| 165 | {return true; } | ||
| 158 | static inline int cpuidle_select(struct cpuidle_driver *drv, | 166 | static inline int cpuidle_select(struct cpuidle_driver *drv, |
| 159 | struct cpuidle_device *dev) | 167 | struct cpuidle_device *dev) |
| 160 | {return -ENODEV; } | 168 | {return -ENODEV; } |
| @@ -183,7 +191,12 @@ static inline int cpuidle_enable_device(struct cpuidle_device *dev) | |||
| 183 | {return -ENODEV; } | 191 | {return -ENODEV; } |
| 184 | static inline void cpuidle_disable_device(struct cpuidle_device *dev) { } | 192 | static inline void cpuidle_disable_device(struct cpuidle_device *dev) { } |
| 185 | static inline int cpuidle_play_dead(void) {return -ENODEV; } | 193 | static inline int cpuidle_play_dead(void) {return -ENODEV; } |
| 186 | static inline void cpuidle_enter_freeze(void) { } | 194 | static inline int cpuidle_find_deepest_state(struct cpuidle_driver *drv, |
| 195 | struct cpuidle_device *dev) | ||
| 196 | {return -ENODEV; } | ||
| 197 | static inline int cpuidle_enter_freeze(struct cpuidle_driver *drv, | ||
| 198 | struct cpuidle_device *dev) | ||
| 199 | {return -ENODEV; } | ||
| 187 | static inline struct cpuidle_driver *cpuidle_get_cpu_driver( | 200 | static inline struct cpuidle_driver *cpuidle_get_cpu_driver( |
| 188 | struct cpuidle_device *dev) {return NULL; } | 201 | struct cpuidle_device *dev) {return NULL; } |
| 189 | #endif | 202 | #endif |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index d9b05b5bf8c7..2e88580194f0 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
| @@ -52,11 +52,17 @@ | |||
| 52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. | 52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. |
| 53 | * Used by threaded interrupts which need to keep the | 53 | * Used by threaded interrupts which need to keep the |
| 54 | * irq line disabled until the threaded handler has been run. | 54 | * irq line disabled until the threaded handler has been run. |
| 55 | * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend | 55 | * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend. Does not guarantee |
| 56 | * that this interrupt will wake the system from a suspended | ||
| 57 | * state. See Documentation/power/suspend-and-interrupts.txt | ||
| 56 | * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set | 58 | * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set |
| 57 | * IRQF_NO_THREAD - Interrupt cannot be threaded | 59 | * IRQF_NO_THREAD - Interrupt cannot be threaded |
| 58 | * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device | 60 | * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device |
| 59 | * resume time. | 61 | * resume time. |
| 62 | * IRQF_COND_SUSPEND - If the IRQ is shared with a NO_SUSPEND user, execute this | ||
| 63 | * interrupt handler after suspending interrupts. For system | ||
| 64 | * wakeup devices users need to implement wakeup detection in | ||
| 65 | * their interrupt handlers. | ||
| 60 | */ | 66 | */ |
| 61 | #define IRQF_DISABLED 0x00000020 | 67 | #define IRQF_DISABLED 0x00000020 |
| 62 | #define IRQF_SHARED 0x00000080 | 68 | #define IRQF_SHARED 0x00000080 |
| @@ -70,6 +76,7 @@ | |||
| 70 | #define IRQF_FORCE_RESUME 0x00008000 | 76 | #define IRQF_FORCE_RESUME 0x00008000 |
| 71 | #define IRQF_NO_THREAD 0x00010000 | 77 | #define IRQF_NO_THREAD 0x00010000 |
| 72 | #define IRQF_EARLY_RESUME 0x00020000 | 78 | #define IRQF_EARLY_RESUME 0x00020000 |
| 79 | #define IRQF_COND_SUSPEND 0x00040000 | ||
| 73 | 80 | ||
| 74 | #define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD) | 81 | #define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD) |
| 75 | 82 | ||
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index faf433af425e..dd1109fb241e 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
| @@ -78,6 +78,7 @@ struct irq_desc { | |||
| 78 | #ifdef CONFIG_PM_SLEEP | 78 | #ifdef CONFIG_PM_SLEEP |
| 79 | unsigned int nr_actions; | 79 | unsigned int nr_actions; |
| 80 | unsigned int no_suspend_depth; | 80 | unsigned int no_suspend_depth; |
| 81 | unsigned int cond_suspend_depth; | ||
| 81 | unsigned int force_resume_depth; | 82 | unsigned int force_resume_depth; |
| 82 | #endif | 83 | #endif |
| 83 | #ifdef CONFIG_PROC_FS | 84 | #ifdef CONFIG_PROC_FS |
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h index 2bbc62aa818a..551f85456c11 100644 --- a/include/linux/mlx4/qp.h +++ b/include/linux/mlx4/qp.h | |||
| @@ -427,7 +427,7 @@ struct mlx4_wqe_inline_seg { | |||
| 427 | 427 | ||
| 428 | enum mlx4_update_qp_attr { | 428 | enum mlx4_update_qp_attr { |
| 429 | MLX4_UPDATE_QP_SMAC = 1 << 0, | 429 | MLX4_UPDATE_QP_SMAC = 1 << 0, |
| 430 | MLX4_UPDATE_QP_VSD = 1 << 2, | 430 | MLX4_UPDATE_QP_VSD = 1 << 1, |
| 431 | MLX4_UPDATE_QP_SUPPORTED_ATTRS = (1 << 2) - 1 | 431 | MLX4_UPDATE_QP_SUPPORTED_ATTRS = (1 << 2) - 1 |
| 432 | }; | 432 | }; |
| 433 | 433 | ||
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 5897b4ea5a3f..429d1790a27e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -2342,6 +2342,7 @@ struct gro_remcsum { | |||
| 2342 | 2342 | ||
| 2343 | static inline void skb_gro_remcsum_init(struct gro_remcsum *grc) | 2343 | static inline void skb_gro_remcsum_init(struct gro_remcsum *grc) |
| 2344 | { | 2344 | { |
| 2345 | grc->offset = 0; | ||
| 2345 | grc->delta = 0; | 2346 | grc->delta = 0; |
| 2346 | } | 2347 | } |
| 2347 | 2348 | ||
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 2f77e0c651c8..b01ccf371fdc 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -343,6 +343,7 @@ extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, | |||
| 343 | extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); | 343 | extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); |
| 344 | extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); | 344 | extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); |
| 345 | extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); | 345 | extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); |
| 346 | extern int nfs_post_op_update_inode_force_wcc_locked(struct inode *inode, struct nfs_fattr *fattr); | ||
| 346 | extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *); | 347 | extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *); |
| 347 | extern void nfs_access_add_cache(struct inode *, struct nfs_access_entry *); | 348 | extern void nfs_access_add_cache(struct inode *, struct nfs_access_entry *); |
| 348 | extern void nfs_access_set_mask(struct nfs_access_entry *, u32); | 349 | extern void nfs_access_set_mask(struct nfs_access_entry *, u32); |
| @@ -355,8 +356,9 @@ extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); | |||
| 355 | extern int nfs_revalidate_inode_rcu(struct nfs_server *server, struct inode *inode); | 356 | extern int nfs_revalidate_inode_rcu(struct nfs_server *server, struct inode *inode); |
| 356 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); | 357 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); |
| 357 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); | 358 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); |
| 359 | extern int nfs_revalidate_mapping_protected(struct inode *inode, struct address_space *mapping); | ||
| 358 | extern int nfs_setattr(struct dentry *, struct iattr *); | 360 | extern int nfs_setattr(struct dentry *, struct iattr *); |
| 359 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | 361 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr, struct nfs_fattr *); |
| 360 | extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr, | 362 | extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr, |
| 361 | struct nfs4_label *label); | 363 | struct nfs4_label *label); |
| 362 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 364 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
| @@ -369,6 +371,7 @@ extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ct | |||
| 369 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); | 371 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); |
| 370 | extern u64 nfs_compat_user_ino64(u64 fileid); | 372 | extern u64 nfs_compat_user_ino64(u64 fileid); |
| 371 | extern void nfs_fattr_init(struct nfs_fattr *fattr); | 373 | extern void nfs_fattr_init(struct nfs_fattr *fattr); |
| 374 | extern void nfs_fattr_set_barrier(struct nfs_fattr *fattr); | ||
| 372 | extern unsigned long nfs_inc_attr_generation_counter(void); | 375 | extern unsigned long nfs_inc_attr_generation_counter(void); |
| 373 | 376 | ||
| 374 | extern struct nfs_fattr *nfs_alloc_fattr(void); | 377 | extern struct nfs_fattr *nfs_alloc_fattr(void); |
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index 58851275fed9..d438eeb08bff 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h | |||
| @@ -54,10 +54,11 @@ struct rhash_head { | |||
| 54 | * @buckets: size * hash buckets | 54 | * @buckets: size * hash buckets |
| 55 | */ | 55 | */ |
| 56 | struct bucket_table { | 56 | struct bucket_table { |
| 57 | size_t size; | 57 | size_t size; |
| 58 | unsigned int locks_mask; | 58 | unsigned int locks_mask; |
| 59 | spinlock_t *locks; | 59 | spinlock_t *locks; |
| 60 | struct rhash_head __rcu *buckets[]; | 60 | |
| 61 | struct rhash_head __rcu *buckets[] ____cacheline_aligned_in_smp; | ||
| 61 | }; | 62 | }; |
| 62 | 63 | ||
| 63 | typedef u32 (*rht_hashfn_t)(const void *data, u32 len, u32 seed); | 64 | typedef u32 (*rht_hashfn_t)(const void *data, u32 len, u32 seed); |
| @@ -78,12 +79,6 @@ struct rhashtable; | |||
| 78 | * @locks_mul: Number of bucket locks to allocate per cpu (default: 128) | 79 | * @locks_mul: Number of bucket locks to allocate per cpu (default: 128) |
| 79 | * @hashfn: Function to hash key | 80 | * @hashfn: Function to hash key |
| 80 | * @obj_hashfn: Function to hash object | 81 | * @obj_hashfn: Function to hash object |
| 81 | * @grow_decision: If defined, may return true if table should expand | ||
| 82 | * @shrink_decision: If defined, may return true if table should shrink | ||
| 83 | * | ||
| 84 | * Note: when implementing the grow and shrink decision function, min/max | ||
| 85 | * shift must be enforced, otherwise, resizing watermarks they set may be | ||
| 86 | * useless. | ||
| 87 | */ | 82 | */ |
| 88 | struct rhashtable_params { | 83 | struct rhashtable_params { |
| 89 | size_t nelem_hint; | 84 | size_t nelem_hint; |
| @@ -97,10 +92,6 @@ struct rhashtable_params { | |||
| 97 | size_t locks_mul; | 92 | size_t locks_mul; |
| 98 | rht_hashfn_t hashfn; | 93 | rht_hashfn_t hashfn; |
| 99 | rht_obj_hashfn_t obj_hashfn; | 94 | rht_obj_hashfn_t obj_hashfn; |
| 100 | bool (*grow_decision)(const struct rhashtable *ht, | ||
| 101 | size_t new_size); | ||
| 102 | bool (*shrink_decision)(const struct rhashtable *ht, | ||
| 103 | size_t new_size); | ||
| 104 | }; | 95 | }; |
| 105 | 96 | ||
| 106 | /** | 97 | /** |
| @@ -192,9 +183,6 @@ int rhashtable_init(struct rhashtable *ht, struct rhashtable_params *params); | |||
| 192 | void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node); | 183 | void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node); |
| 193 | bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node); | 184 | bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node); |
| 194 | 185 | ||
| 195 | bool rht_grow_above_75(const struct rhashtable *ht, size_t new_size); | ||
| 196 | bool rht_shrink_below_30(const struct rhashtable *ht, size_t new_size); | ||
| 197 | |||
| 198 | int rhashtable_expand(struct rhashtable *ht); | 186 | int rhashtable_expand(struct rhashtable *ht); |
| 199 | int rhashtable_shrink(struct rhashtable *ht); | 187 | int rhashtable_shrink(struct rhashtable *ht); |
| 200 | 188 | ||
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index baf3e1d08416..d10965f0d8a4 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
| @@ -143,13 +143,13 @@ struct uart_port { | |||
| 143 | unsigned char iotype; /* io access style */ | 143 | unsigned char iotype; /* io access style */ |
| 144 | unsigned char unused1; | 144 | unsigned char unused1; |
| 145 | 145 | ||
| 146 | #define UPIO_PORT (0) /* 8b I/O port access */ | 146 | #define UPIO_PORT (SERIAL_IO_PORT) /* 8b I/O port access */ |
| 147 | #define UPIO_HUB6 (1) /* Hub6 ISA card */ | 147 | #define UPIO_HUB6 (SERIAL_IO_HUB6) /* Hub6 ISA card */ |
| 148 | #define UPIO_MEM (2) /* 8b MMIO access */ | 148 | #define UPIO_MEM (SERIAL_IO_MEM) /* 8b MMIO access */ |
| 149 | #define UPIO_MEM32 (3) /* 32b little endian */ | 149 | #define UPIO_MEM32 (SERIAL_IO_MEM32) /* 32b little endian */ |
| 150 | #define UPIO_MEM32BE (4) /* 32b big endian */ | 150 | #define UPIO_AU (SERIAL_IO_AU) /* Au1x00 and RT288x type IO */ |
| 151 | #define UPIO_AU (5) /* Au1x00 and RT288x type IO */ | 151 | #define UPIO_TSI (SERIAL_IO_TSI) /* Tsi108/109 type IO */ |
| 152 | #define UPIO_TSI (6) /* Tsi108/109 type IO */ | 152 | #define UPIO_MEM32BE (SERIAL_IO_MEM32BE) /* 32b big endian */ |
| 153 | 153 | ||
| 154 | unsigned int read_status_mask; /* driver specific */ | 154 | unsigned int read_status_mask; /* driver specific */ |
| 155 | unsigned int ignore_status_mask; /* driver specific */ | 155 | unsigned int ignore_status_mask; /* driver specific */ |
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index 9bb547c7bce7..704a1ab8240c 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h | |||
| @@ -190,8 +190,7 @@ static inline void usb_set_serial_data(struct usb_serial *serial, void *data) | |||
| 190 | * @num_ports: the number of different ports this device will have. | 190 | * @num_ports: the number of different ports this device will have. |
| 191 | * @bulk_in_size: minimum number of bytes to allocate for bulk-in buffer | 191 | * @bulk_in_size: minimum number of bytes to allocate for bulk-in buffer |
| 192 | * (0 = end-point size) | 192 | * (0 = end-point size) |
| 193 | * @bulk_out_size: minimum number of bytes to allocate for bulk-out buffer | 193 | * @bulk_out_size: bytes to allocate for bulk-out buffer (0 = end-point size) |
| 194 | * (0 = end-point size) | ||
| 195 | * @calc_num_ports: pointer to a function to determine how many ports this | 194 | * @calc_num_ports: pointer to a function to determine how many ports this |
| 196 | * device has dynamically. It will be called after the probe() | 195 | * device has dynamically. It will be called after the probe() |
| 197 | * callback is called, but before attach() | 196 | * callback is called, but before attach() |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 74db135f9957..f597846ff605 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
| @@ -70,7 +70,8 @@ enum { | |||
| 70 | /* data contains off-queue information when !WORK_STRUCT_PWQ */ | 70 | /* data contains off-queue information when !WORK_STRUCT_PWQ */ |
| 71 | WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, | 71 | WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, |
| 72 | 72 | ||
| 73 | WORK_OFFQ_CANCELING = (1 << WORK_OFFQ_FLAG_BASE), | 73 | __WORK_OFFQ_CANCELING = WORK_OFFQ_FLAG_BASE, |
| 74 | WORK_OFFQ_CANCELING = (1 << __WORK_OFFQ_CANCELING), | ||
| 74 | 75 | ||
| 75 | /* | 76 | /* |
| 76 | * When a work item is off queue, its high bits point to the last | 77 | * When a work item is off queue, its high bits point to the last |
