diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/acpiosxf.h | 4 | ||||
-rw-r--r-- | include/acpi/atomicio.h | 10 | ||||
-rw-r--r-- | include/acpi/processor.h | 1 | ||||
-rw-r--r-- | include/keys/user-type.h | 3 | ||||
-rw-r--r-- | include/linux/device.h | 15 | ||||
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | include/linux/if_team.h | 10 | ||||
-rw-r--r-- | include/linux/kexec.h | 2 | ||||
-rw-r--r-- | include/linux/migrate.h | 14 | ||||
-rw-r--r-- | include/linux/migrate_mode.h | 16 | ||||
-rw-r--r-- | include/linux/mlx4/device.h | 1 | ||||
-rw-r--r-- | include/linux/quota.h | 6 | ||||
-rw-r--r-- | include/linux/res_counter.h | 11 | ||||
-rw-r--r-- | include/linux/sched.h | 2 | ||||
-rw-r--r-- | include/linux/shmem_fs.h | 1 | ||||
-rw-r--r-- | include/linux/snmp.h | 1 | ||||
-rw-r--r-- | include/linux/suspend.h | 19 | ||||
-rw-r--r-- | include/linux/swap.h | 2 | ||||
-rw-r--r-- | include/linux/thermal.h | 4 | ||||
-rw-r--r-- | include/linux/usb.h | 1 | ||||
-rw-r--r-- | include/net/bluetooth/hci.h | 2 | ||||
-rw-r--r-- | include/net/cfg80211.h | 6 | ||||
-rw-r--r-- | include/net/netprio_cgroup.h | 1 | ||||
-rw-r--r-- | include/net/sock.h | 13 |
24 files changed, 99 insertions, 48 deletions
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 2fe8639b3ae7..7c9aebe8a7aa 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h | |||
@@ -218,9 +218,13 @@ acpi_status acpi_os_write_port(acpi_io_address address, u32 value, u32 width); | |||
218 | */ | 218 | */ |
219 | acpi_status | 219 | acpi_status |
220 | acpi_os_read_memory(acpi_physical_address address, u32 * value, u32 width); | 220 | acpi_os_read_memory(acpi_physical_address address, u32 * value, u32 width); |
221 | acpi_status | ||
222 | acpi_os_read_memory64(acpi_physical_address address, u64 *value, u32 width); | ||
221 | 223 | ||
222 | acpi_status | 224 | acpi_status |
223 | acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width); | 225 | acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width); |
226 | acpi_status | ||
227 | acpi_os_write_memory64(acpi_physical_address address, u64 value, u32 width); | ||
224 | 228 | ||
225 | /* | 229 | /* |
226 | * Platform and hardware-independent PCI configuration space access | 230 | * Platform and hardware-independent PCI configuration space access |
diff --git a/include/acpi/atomicio.h b/include/acpi/atomicio.h deleted file mode 100644 index 8b9fb4b0b9ce..000000000000 --- a/include/acpi/atomicio.h +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | #ifndef ACPI_ATOMIC_IO_H | ||
2 | #define ACPI_ATOMIC_IO_H | ||
3 | |||
4 | int acpi_pre_map_gar(struct acpi_generic_address *reg); | ||
5 | int acpi_post_unmap_gar(struct acpi_generic_address *reg); | ||
6 | |||
7 | int acpi_atomic_read(u64 *val, struct acpi_generic_address *reg); | ||
8 | int acpi_atomic_write(u64 val, struct acpi_generic_address *reg); | ||
9 | |||
10 | #endif | ||
diff --git a/include/acpi/processor.h b/include/acpi/processor.h index 610f6fb1bbc2..8cf7e98a2c7b 100644 --- a/include/acpi/processor.h +++ b/include/acpi/processor.h | |||
@@ -195,6 +195,7 @@ struct acpi_processor_flags { | |||
195 | u8 has_cst:1; | 195 | u8 has_cst:1; |
196 | u8 power_setup_done:1; | 196 | u8 power_setup_done:1; |
197 | u8 bm_rld_set:1; | 197 | u8 bm_rld_set:1; |
198 | u8 need_hotplug_init:1; | ||
198 | }; | 199 | }; |
199 | 200 | ||
200 | struct acpi_processor { | 201 | struct acpi_processor { |
diff --git a/include/keys/user-type.h b/include/keys/user-type.h index c37c34275a44..bc9ec1d7698c 100644 --- a/include/keys/user-type.h +++ b/include/keys/user-type.h | |||
@@ -17,7 +17,7 @@ | |||
17 | 17 | ||
18 | /*****************************************************************************/ | 18 | /*****************************************************************************/ |
19 | /* | 19 | /* |
20 | * the payload for a key of type "user" | 20 | * the payload for a key of type "user" or "logon" |
21 | * - once filled in and attached to a key: | 21 | * - once filled in and attached to a key: |
22 | * - the payload struct is invariant may not be changed, only replaced | 22 | * - the payload struct is invariant may not be changed, only replaced |
23 | * - the payload must be read with RCU procedures or with the key semaphore | 23 | * - the payload must be read with RCU procedures or with the key semaphore |
@@ -33,6 +33,7 @@ struct user_key_payload { | |||
33 | }; | 33 | }; |
34 | 34 | ||
35 | extern struct key_type key_type_user; | 35 | extern struct key_type key_type_user; |
36 | extern struct key_type key_type_logon; | ||
36 | 37 | ||
37 | extern int user_instantiate(struct key *key, const void *data, size_t datalen); | 38 | extern int user_instantiate(struct key *key, const void *data, size_t datalen); |
38 | extern int user_update(struct key *key, const void *data, size_t datalen); | 39 | extern int user_update(struct key *key, const void *data, size_t datalen); |
diff --git a/include/linux/device.h b/include/linux/device.h index 5b3adb8f9588..b63fb393aa58 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -279,11 +279,11 @@ struct device *driver_find_device(struct device_driver *drv, | |||
279 | 279 | ||
280 | /** | 280 | /** |
281 | * struct subsys_interface - interfaces to device functions | 281 | * struct subsys_interface - interfaces to device functions |
282 | * @name name of the device function | 282 | * @name: name of the device function |
283 | * @subsystem subsytem of the devices to attach to | 283 | * @subsys: subsytem of the devices to attach to |
284 | * @node the list of functions registered at the subsystem | 284 | * @node: the list of functions registered at the subsystem |
285 | * @add device hookup to device function handler | 285 | * @add_dev: device hookup to device function handler |
286 | * @remove device hookup to device function handler | 286 | * @remove_dev: device hookup to device function handler |
287 | * | 287 | * |
288 | * Simple interfaces attached to a subsystem. Multiple interfaces can | 288 | * Simple interfaces attached to a subsystem. Multiple interfaces can |
289 | * attach to a subsystem and its devices. Unlike drivers, they do not | 289 | * attach to a subsystem and its devices. Unlike drivers, they do not |
@@ -612,6 +612,7 @@ struct device_dma_parameters { | |||
612 | * @archdata: For arch-specific additions. | 612 | * @archdata: For arch-specific additions. |
613 | * @of_node: Associated device tree node. | 613 | * @of_node: Associated device tree node. |
614 | * @devt: For creating the sysfs "dev". | 614 | * @devt: For creating the sysfs "dev". |
615 | * @id: device instance | ||
615 | * @devres_lock: Spinlock to protect the resource of the device. | 616 | * @devres_lock: Spinlock to protect the resource of the device. |
616 | * @devres_head: The resources list of the device. | 617 | * @devres_head: The resources list of the device. |
617 | * @knode_class: The node used to add the device to the class list. | 618 | * @knode_class: The node used to add the device to the class list. |
@@ -1003,6 +1004,10 @@ extern long sysfs_deprecated; | |||
1003 | * Each module may only use this macro once, and calling it replaces | 1004 | * Each module may only use this macro once, and calling it replaces |
1004 | * module_init() and module_exit(). | 1005 | * module_init() and module_exit(). |
1005 | * | 1006 | * |
1007 | * @__driver: driver name | ||
1008 | * @__register: register function for this driver type | ||
1009 | * @__unregister: unregister function for this driver type | ||
1010 | * | ||
1006 | * Use this macro to construct bus specific macros for registering | 1011 | * Use this macro to construct bus specific macros for registering |
1007 | * drivers, and do not use it on its own. | 1012 | * drivers, and do not use it on its own. |
1008 | */ | 1013 | */ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 0244082d42c5..386da09f229d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -396,6 +396,7 @@ struct inodes_stat_t { | |||
396 | #include <linux/rculist_bl.h> | 396 | #include <linux/rculist_bl.h> |
397 | #include <linux/atomic.h> | 397 | #include <linux/atomic.h> |
398 | #include <linux/shrinker.h> | 398 | #include <linux/shrinker.h> |
399 | #include <linux/migrate_mode.h> | ||
399 | 400 | ||
400 | #include <asm/byteorder.h> | 401 | #include <asm/byteorder.h> |
401 | 402 | ||
@@ -526,7 +527,6 @@ enum positive_aop_returns { | |||
526 | struct page; | 527 | struct page; |
527 | struct address_space; | 528 | struct address_space; |
528 | struct writeback_control; | 529 | struct writeback_control; |
529 | enum migrate_mode; | ||
530 | 530 | ||
531 | struct iov_iter { | 531 | struct iov_iter { |
532 | const struct iovec *iov; | 532 | const struct iovec *iov; |
diff --git a/include/linux/if_team.h b/include/linux/if_team.h index 828181fbad5d..58404b0c5010 100644 --- a/include/linux/if_team.h +++ b/include/linux/if_team.h | |||
@@ -46,6 +46,10 @@ struct team_port { | |||
46 | u32 speed; | 46 | u32 speed; |
47 | u8 duplex; | 47 | u8 duplex; |
48 | 48 | ||
49 | /* Custom gennetlink interface related flags */ | ||
50 | bool changed; | ||
51 | bool removed; | ||
52 | |||
49 | struct rcu_head rcu; | 53 | struct rcu_head rcu; |
50 | }; | 54 | }; |
51 | 55 | ||
@@ -72,6 +76,10 @@ struct team_option { | |||
72 | enum team_option_type type; | 76 | enum team_option_type type; |
73 | int (*getter)(struct team *team, void *arg); | 77 | int (*getter)(struct team *team, void *arg); |
74 | int (*setter)(struct team *team, void *arg); | 78 | int (*setter)(struct team *team, void *arg); |
79 | |||
80 | /* Custom gennetlink interface related flags */ | ||
81 | bool changed; | ||
82 | bool removed; | ||
75 | }; | 83 | }; |
76 | 84 | ||
77 | struct team_mode { | 85 | struct team_mode { |
@@ -207,6 +215,7 @@ enum { | |||
207 | TEAM_ATTR_OPTION_CHANGED, /* flag */ | 215 | TEAM_ATTR_OPTION_CHANGED, /* flag */ |
208 | TEAM_ATTR_OPTION_TYPE, /* u8 */ | 216 | TEAM_ATTR_OPTION_TYPE, /* u8 */ |
209 | TEAM_ATTR_OPTION_DATA, /* dynamic */ | 217 | TEAM_ATTR_OPTION_DATA, /* dynamic */ |
218 | TEAM_ATTR_OPTION_REMOVED, /* flag */ | ||
210 | 219 | ||
211 | __TEAM_ATTR_OPTION_MAX, | 220 | __TEAM_ATTR_OPTION_MAX, |
212 | TEAM_ATTR_OPTION_MAX = __TEAM_ATTR_OPTION_MAX - 1, | 221 | TEAM_ATTR_OPTION_MAX = __TEAM_ATTR_OPTION_MAX - 1, |
@@ -227,6 +236,7 @@ enum { | |||
227 | TEAM_ATTR_PORT_LINKUP, /* flag */ | 236 | TEAM_ATTR_PORT_LINKUP, /* flag */ |
228 | TEAM_ATTR_PORT_SPEED, /* u32 */ | 237 | TEAM_ATTR_PORT_SPEED, /* u32 */ |
229 | TEAM_ATTR_PORT_DUPLEX, /* u8 */ | 238 | TEAM_ATTR_PORT_DUPLEX, /* u8 */ |
239 | TEAM_ATTR_PORT_REMOVED, /* flag */ | ||
230 | 240 | ||
231 | __TEAM_ATTR_PORT_MAX, | 241 | __TEAM_ATTR_PORT_MAX, |
232 | TEAM_ATTR_PORT_MAX = __TEAM_ATTR_PORT_MAX - 1, | 242 | TEAM_ATTR_PORT_MAX = __TEAM_ATTR_PORT_MAX - 1, |
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 2fa0901219d4..0d7d6a1b172f 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
@@ -50,9 +50,11 @@ | |||
50 | * note header. For kdump, the code in vmcore.c runs in the context | 50 | * note header. For kdump, the code in vmcore.c runs in the context |
51 | * of the second kernel to combine them into one note. | 51 | * of the second kernel to combine them into one note. |
52 | */ | 52 | */ |
53 | #ifndef KEXEC_NOTE_BYTES | ||
53 | #define KEXEC_NOTE_BYTES ( (KEXEC_NOTE_HEAD_BYTES * 2) + \ | 54 | #define KEXEC_NOTE_BYTES ( (KEXEC_NOTE_HEAD_BYTES * 2) + \ |
54 | KEXEC_CORE_NOTE_NAME_BYTES + \ | 55 | KEXEC_CORE_NOTE_NAME_BYTES + \ |
55 | KEXEC_CORE_NOTE_DESC_BYTES ) | 56 | KEXEC_CORE_NOTE_DESC_BYTES ) |
57 | #endif | ||
56 | 58 | ||
57 | /* | 59 | /* |
58 | * This structure is used to hold the arguments that are used when loading | 60 | * This structure is used to hold the arguments that are used when loading |
diff --git a/include/linux/migrate.h b/include/linux/migrate.h index eaf867412f7a..05ed2828a553 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h | |||
@@ -3,22 +3,10 @@ | |||
3 | 3 | ||
4 | #include <linux/mm.h> | 4 | #include <linux/mm.h> |
5 | #include <linux/mempolicy.h> | 5 | #include <linux/mempolicy.h> |
6 | #include <linux/migrate_mode.h> | ||
6 | 7 | ||
7 | typedef struct page *new_page_t(struct page *, unsigned long private, int **); | 8 | typedef struct page *new_page_t(struct page *, unsigned long private, int **); |
8 | 9 | ||
9 | /* | ||
10 | * MIGRATE_ASYNC means never block | ||
11 | * MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking | ||
12 | * on most operations but not ->writepage as the potential stall time | ||
13 | * is too significant | ||
14 | * MIGRATE_SYNC will block when migrating pages | ||
15 | */ | ||
16 | enum migrate_mode { | ||
17 | MIGRATE_ASYNC, | ||
18 | MIGRATE_SYNC_LIGHT, | ||
19 | MIGRATE_SYNC, | ||
20 | }; | ||
21 | |||
22 | #ifdef CONFIG_MIGRATION | 10 | #ifdef CONFIG_MIGRATION |
23 | #define PAGE_MIGRATION 1 | 11 | #define PAGE_MIGRATION 1 |
24 | 12 | ||
diff --git a/include/linux/migrate_mode.h b/include/linux/migrate_mode.h new file mode 100644 index 000000000000..ebf3d89a3919 --- /dev/null +++ b/include/linux/migrate_mode.h | |||
@@ -0,0 +1,16 @@ | |||
1 | #ifndef MIGRATE_MODE_H_INCLUDED | ||
2 | #define MIGRATE_MODE_H_INCLUDED | ||
3 | /* | ||
4 | * MIGRATE_ASYNC means never block | ||
5 | * MIGRATE_SYNC_LIGHT in the current implementation means to allow blocking | ||
6 | * on most operations but not ->writepage as the potential stall time | ||
7 | * is too significant | ||
8 | * MIGRATE_SYNC will block when migrating pages | ||
9 | */ | ||
10 | enum migrate_mode { | ||
11 | MIGRATE_ASYNC, | ||
12 | MIGRATE_SYNC_LIGHT, | ||
13 | MIGRATE_SYNC, | ||
14 | }; | ||
15 | |||
16 | #endif /* MIGRATE_MODE_H_INCLUDED */ | ||
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h index 5c4fe8e5bfe5..aea61905499b 100644 --- a/include/linux/mlx4/device.h +++ b/include/linux/mlx4/device.h | |||
@@ -621,6 +621,7 @@ void mlx4_unregister_mac(struct mlx4_dev *dev, u8 port, u64 mac); | |||
621 | int mlx4_replace_mac(struct mlx4_dev *dev, u8 port, int qpn, u64 new_mac); | 621 | int mlx4_replace_mac(struct mlx4_dev *dev, u8 port, int qpn, u64 new_mac); |
622 | int mlx4_get_eth_qp(struct mlx4_dev *dev, u8 port, u64 mac, int *qpn); | 622 | int mlx4_get_eth_qp(struct mlx4_dev *dev, u8 port, u64 mac, int *qpn); |
623 | void mlx4_put_eth_qp(struct mlx4_dev *dev, u8 port, u64 mac, int qpn); | 623 | void mlx4_put_eth_qp(struct mlx4_dev *dev, u8 port, u64 mac, int qpn); |
624 | void mlx4_set_stats_bitmap(struct mlx4_dev *dev, u64 *stats_bitmap); | ||
624 | 625 | ||
625 | int mlx4_find_cached_vlan(struct mlx4_dev *dev, u8 port, u16 vid, int *idx); | 626 | int mlx4_find_cached_vlan(struct mlx4_dev *dev, u8 port, u16 vid, int *idx); |
626 | int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index); | 627 | int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index); |
diff --git a/include/linux/quota.h b/include/linux/quota.h index cb7855699037..c09fa042b5ea 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h | |||
@@ -230,7 +230,11 @@ struct mem_dqinfo { | |||
230 | struct super_block; | 230 | struct super_block; |
231 | 231 | ||
232 | #define DQF_MASK 0xffff /* Mask for format specific flags */ | 232 | #define DQF_MASK 0xffff /* Mask for format specific flags */ |
233 | #define DQF_INFO_DIRTY_B 16 | 233 | #define DQF_GETINFO_MASK 0x1ffff /* Mask for flags passed to userspace */ |
234 | #define DQF_SETINFO_MASK 0xffff /* Mask for flags modifiable from userspace */ | ||
235 | #define DQF_SYS_FILE_B 16 | ||
236 | #define DQF_SYS_FILE (1 << DQF_SYS_FILE_B) /* Quota file stored as system file */ | ||
237 | #define DQF_INFO_DIRTY_B 31 | ||
234 | #define DQF_INFO_DIRTY (1 << DQF_INFO_DIRTY_B) /* Is info dirty? */ | 238 | #define DQF_INFO_DIRTY (1 << DQF_INFO_DIRTY_B) /* Is info dirty? */ |
235 | 239 | ||
236 | extern void mark_info_dirty(struct super_block *sb, int type); | 240 | extern void mark_info_dirty(struct super_block *sb, int type); |
diff --git a/include/linux/res_counter.h b/include/linux/res_counter.h index c9d625ca659e..da81af086eaf 100644 --- a/include/linux/res_counter.h +++ b/include/linux/res_counter.h | |||
@@ -109,12 +109,18 @@ void res_counter_init(struct res_counter *counter, struct res_counter *parent); | |||
109 | * | 109 | * |
110 | * returns 0 on success and <0 if the counter->usage will exceed the | 110 | * returns 0 on success and <0 if the counter->usage will exceed the |
111 | * counter->limit _locked call expects the counter->lock to be taken | 111 | * counter->limit _locked call expects the counter->lock to be taken |
112 | * | ||
113 | * charge_nofail works the same, except that it charges the resource | ||
114 | * counter unconditionally, and returns < 0 if the after the current | ||
115 | * charge we are over limit. | ||
112 | */ | 116 | */ |
113 | 117 | ||
114 | int __must_check res_counter_charge_locked(struct res_counter *counter, | 118 | int __must_check res_counter_charge_locked(struct res_counter *counter, |
115 | unsigned long val); | 119 | unsigned long val); |
116 | int __must_check res_counter_charge(struct res_counter *counter, | 120 | int __must_check res_counter_charge(struct res_counter *counter, |
117 | unsigned long val, struct res_counter **limit_fail_at); | 121 | unsigned long val, struct res_counter **limit_fail_at); |
122 | int __must_check res_counter_charge_nofail(struct res_counter *counter, | ||
123 | unsigned long val, struct res_counter **limit_fail_at); | ||
118 | 124 | ||
119 | /* | 125 | /* |
120 | * uncharge - tell that some portion of the resource is released | 126 | * uncharge - tell that some portion of the resource is released |
@@ -142,7 +148,10 @@ static inline unsigned long long res_counter_margin(struct res_counter *cnt) | |||
142 | unsigned long flags; | 148 | unsigned long flags; |
143 | 149 | ||
144 | spin_lock_irqsave(&cnt->lock, flags); | 150 | spin_lock_irqsave(&cnt->lock, flags); |
145 | margin = cnt->limit - cnt->usage; | 151 | if (cnt->limit > cnt->usage) |
152 | margin = cnt->limit - cnt->usage; | ||
153 | else | ||
154 | margin = 0; | ||
146 | spin_unlock_irqrestore(&cnt->lock, flags); | 155 | spin_unlock_irqrestore(&cnt->lock, flags); |
147 | return margin; | 156 | return margin; |
148 | } | 157 | } |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 4032ec1cf836..513f52459872 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -2088,7 +2088,7 @@ extern int sched_setscheduler_nocheck(struct task_struct *, int, | |||
2088 | extern struct task_struct *idle_task(int cpu); | 2088 | extern struct task_struct *idle_task(int cpu); |
2089 | /** | 2089 | /** |
2090 | * is_idle_task - is the specified task an idle task? | 2090 | * is_idle_task - is the specified task an idle task? |
2091 | * @tsk: the task in question. | 2091 | * @p: the task in question. |
2092 | */ | 2092 | */ |
2093 | static inline bool is_idle_task(struct task_struct *p) | 2093 | static inline bool is_idle_task(struct task_struct *p) |
2094 | { | 2094 | { |
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index e4c711c6f321..79ab2555b3b0 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h | |||
@@ -48,6 +48,7 @@ extern struct file *shmem_file_setup(const char *name, | |||
48 | loff_t size, unsigned long flags); | 48 | loff_t size, unsigned long flags); |
49 | extern int shmem_zero_setup(struct vm_area_struct *); | 49 | extern int shmem_zero_setup(struct vm_area_struct *); |
50 | extern int shmem_lock(struct file *file, int lock, struct user_struct *user); | 50 | extern int shmem_lock(struct file *file, int lock, struct user_struct *user); |
51 | extern void shmem_unlock_mapping(struct address_space *mapping); | ||
51 | extern struct page *shmem_read_mapping_page_gfp(struct address_space *mapping, | 52 | extern struct page *shmem_read_mapping_page_gfp(struct address_space *mapping, |
52 | pgoff_t index, gfp_t gfp_mask); | 53 | pgoff_t index, gfp_t gfp_mask); |
53 | extern void shmem_truncate_range(struct inode *inode, loff_t start, loff_t end); | 54 | extern void shmem_truncate_range(struct inode *inode, loff_t start, loff_t end); |
diff --git a/include/linux/snmp.h b/include/linux/snmp.h index e16557a357e5..c1241c428179 100644 --- a/include/linux/snmp.h +++ b/include/linux/snmp.h | |||
@@ -192,7 +192,6 @@ enum | |||
192 | LINUX_MIB_TCPPARTIALUNDO, /* TCPPartialUndo */ | 192 | LINUX_MIB_TCPPARTIALUNDO, /* TCPPartialUndo */ |
193 | LINUX_MIB_TCPDSACKUNDO, /* TCPDSACKUndo */ | 193 | LINUX_MIB_TCPDSACKUNDO, /* TCPDSACKUndo */ |
194 | LINUX_MIB_TCPLOSSUNDO, /* TCPLossUndo */ | 194 | LINUX_MIB_TCPLOSSUNDO, /* TCPLossUndo */ |
195 | LINUX_MIB_TCPLOSS, /* TCPLoss */ | ||
196 | LINUX_MIB_TCPLOSTRETRANSMIT, /* TCPLostRetransmit */ | 195 | LINUX_MIB_TCPLOSTRETRANSMIT, /* TCPLostRetransmit */ |
197 | LINUX_MIB_TCPRENOFAILURES, /* TCPRenoFailures */ | 196 | LINUX_MIB_TCPRENOFAILURES, /* TCPRenoFailures */ |
198 | LINUX_MIB_TCPSACKFAILURES, /* TCPSackFailures */ | 197 | LINUX_MIB_TCPSACKFAILURES, /* TCPSackFailures */ |
diff --git a/include/linux/suspend.h b/include/linux/suspend.h index 95040cc33107..91784a4f8608 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h | |||
@@ -357,14 +357,29 @@ extern bool pm_save_wakeup_count(unsigned int count); | |||
357 | 357 | ||
358 | static inline void lock_system_sleep(void) | 358 | static inline void lock_system_sleep(void) |
359 | { | 359 | { |
360 | freezer_do_not_count(); | 360 | current->flags |= PF_FREEZER_SKIP; |
361 | mutex_lock(&pm_mutex); | 361 | mutex_lock(&pm_mutex); |
362 | } | 362 | } |
363 | 363 | ||
364 | static inline void unlock_system_sleep(void) | 364 | static inline void unlock_system_sleep(void) |
365 | { | 365 | { |
366 | /* | ||
367 | * Don't use freezer_count() because we don't want the call to | ||
368 | * try_to_freeze() here. | ||
369 | * | ||
370 | * Reason: | ||
371 | * Fundamentally, we just don't need it, because freezing condition | ||
372 | * doesn't come into effect until we release the pm_mutex lock, | ||
373 | * since the freezer always works with pm_mutex held. | ||
374 | * | ||
375 | * More importantly, in the case of hibernation, | ||
376 | * unlock_system_sleep() gets called in snapshot_read() and | ||
377 | * snapshot_write() when the freezing condition is still in effect. | ||
378 | * Which means, if we use try_to_freeze() here, it would make them | ||
379 | * enter the refrigerator, thus causing hibernation to lockup. | ||
380 | */ | ||
381 | current->flags &= ~PF_FREEZER_SKIP; | ||
366 | mutex_unlock(&pm_mutex); | 382 | mutex_unlock(&pm_mutex); |
367 | freezer_count(); | ||
368 | } | 383 | } |
369 | 384 | ||
370 | #else /* !CONFIG_PM_SLEEP */ | 385 | #else /* !CONFIG_PM_SLEEP */ |
diff --git a/include/linux/swap.h b/include/linux/swap.h index 06061a7f8e69..3e60228e7299 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -273,7 +273,7 @@ static inline int zone_reclaim(struct zone *z, gfp_t mask, unsigned int order) | |||
273 | #endif | 273 | #endif |
274 | 274 | ||
275 | extern int page_evictable(struct page *page, struct vm_area_struct *vma); | 275 | extern int page_evictable(struct page *page, struct vm_area_struct *vma); |
276 | extern void scan_mapping_unevictable_pages(struct address_space *); | 276 | extern void check_move_unevictable_pages(struct page **, int nr_pages); |
277 | 277 | ||
278 | extern unsigned long scan_unevictable_pages; | 278 | extern unsigned long scan_unevictable_pages; |
279 | extern int scan_unevictable_handler(struct ctl_table *, int, | 279 | extern int scan_unevictable_handler(struct ctl_table *, int, |
diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 47b4a27e6e97..796f1ff0388c 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h | |||
@@ -152,9 +152,9 @@ struct thermal_cooling_device *thermal_cooling_device_register(char *, void *, | |||
152 | void thermal_cooling_device_unregister(struct thermal_cooling_device *); | 152 | void thermal_cooling_device_unregister(struct thermal_cooling_device *); |
153 | 153 | ||
154 | #ifdef CONFIG_NET | 154 | #ifdef CONFIG_NET |
155 | extern int generate_netlink_event(u32 orig, enum events event); | 155 | extern int thermal_generate_netlink_event(u32 orig, enum events event); |
156 | #else | 156 | #else |
157 | static inline int generate_netlink_event(u32 orig, enum events event) | 157 | static inline int thermal_generate_netlink_event(u32 orig, enum events event) |
158 | { | 158 | { |
159 | return 0; | 159 | return 0; |
160 | } | 160 | } |
diff --git a/include/linux/usb.h b/include/linux/usb.h index 27a4e16d2bf1..69d845739bc2 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -1073,6 +1073,7 @@ typedef void (*usb_complete_t)(struct urb *); | |||
1073 | * which the host controller driver should use in preference to the | 1073 | * which the host controller driver should use in preference to the |
1074 | * transfer_buffer. | 1074 | * transfer_buffer. |
1075 | * @sg: scatter gather buffer list | 1075 | * @sg: scatter gather buffer list |
1076 | * @num_mapped_sgs: (internal) number of mapped sg entries | ||
1076 | * @num_sgs: number of entries in the sg list | 1077 | * @num_sgs: number of entries in the sg list |
1077 | * @transfer_buffer_length: How big is transfer_buffer. The transfer may | 1078 | * @transfer_buffer_length: How big is transfer_buffer. The transfer may |
1078 | * be broken up into chunks according to the current maximum packet | 1079 | * be broken up into chunks according to the current maximum packet |
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 5b2fed5eebf2..00596e816b4d 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
@@ -1388,6 +1388,6 @@ struct hci_inquiry_req { | |||
1388 | }; | 1388 | }; |
1389 | #define IREQ_CACHE_FLUSH 0x0001 | 1389 | #define IREQ_CACHE_FLUSH 0x0001 |
1390 | 1390 | ||
1391 | extern int enable_hs; | 1391 | extern bool enable_hs; |
1392 | 1392 | ||
1393 | #endif /* __HCI_H */ | 1393 | #endif /* __HCI_H */ |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 15f4be7d768e..a067d30ce73e 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1140,6 +1140,7 @@ struct cfg80211_disassoc_request { | |||
1140 | * @bssid: Fixed BSSID requested, maybe be %NULL, if set do not | 1140 | * @bssid: Fixed BSSID requested, maybe be %NULL, if set do not |
1141 | * search for IBSSs with a different BSSID. | 1141 | * search for IBSSs with a different BSSID. |
1142 | * @channel: The channel to use if no IBSS can be found to join. | 1142 | * @channel: The channel to use if no IBSS can be found to join. |
1143 | * @channel_type: channel type (HT mode) | ||
1143 | * @channel_fixed: The channel should be fixed -- do not search for | 1144 | * @channel_fixed: The channel should be fixed -- do not search for |
1144 | * IBSSs to join on other channels. | 1145 | * IBSSs to join on other channels. |
1145 | * @ie: information element(s) to include in the beacon | 1146 | * @ie: information element(s) to include in the beacon |
@@ -1978,6 +1979,11 @@ struct wiphy_wowlan_support { | |||
1978 | * configured as RX antennas. Antenna configuration commands will be | 1979 | * configured as RX antennas. Antenna configuration commands will be |
1979 | * rejected unless this or @available_antennas_tx is set. | 1980 | * rejected unless this or @available_antennas_tx is set. |
1980 | * | 1981 | * |
1982 | * @probe_resp_offload: | ||
1983 | * Bitmap of supported protocols for probe response offloading. | ||
1984 | * See &enum nl80211_probe_resp_offload_support_attr. Only valid | ||
1985 | * when the wiphy flag @WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD is set. | ||
1986 | * | ||
1981 | * @max_remain_on_channel_duration: Maximum time a remain-on-channel operation | 1987 | * @max_remain_on_channel_duration: Maximum time a remain-on-channel operation |
1982 | * may request, if implemented. | 1988 | * may request, if implemented. |
1983 | * | 1989 | * |
diff --git a/include/net/netprio_cgroup.h b/include/net/netprio_cgroup.h index e503b87c4c1b..7b2d43139c8e 100644 --- a/include/net/netprio_cgroup.h +++ b/include/net/netprio_cgroup.h | |||
@@ -13,7 +13,6 @@ | |||
13 | 13 | ||
14 | #ifndef _NETPRIO_CGROUP_H | 14 | #ifndef _NETPRIO_CGROUP_H |
15 | #define _NETPRIO_CGROUP_H | 15 | #define _NETPRIO_CGROUP_H |
16 | #include <linux/module.h> | ||
17 | #include <linux/cgroup.h> | 16 | #include <linux/cgroup.h> |
18 | #include <linux/hardirq.h> | 17 | #include <linux/hardirq.h> |
19 | #include <linux/rcupdate.h> | 18 | #include <linux/rcupdate.h> |
diff --git a/include/net/sock.h b/include/net/sock.h index bb972d254dff..4c69ac165e6b 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -226,6 +226,7 @@ struct cg_proto; | |||
226 | * @sk_ack_backlog: current listen backlog | 226 | * @sk_ack_backlog: current listen backlog |
227 | * @sk_max_ack_backlog: listen backlog set in listen() | 227 | * @sk_max_ack_backlog: listen backlog set in listen() |
228 | * @sk_priority: %SO_PRIORITY setting | 228 | * @sk_priority: %SO_PRIORITY setting |
229 | * @sk_cgrp_prioidx: socket group's priority map index | ||
229 | * @sk_type: socket type (%SOCK_STREAM, etc) | 230 | * @sk_type: socket type (%SOCK_STREAM, etc) |
230 | * @sk_protocol: which protocol this socket belongs in this network family | 231 | * @sk_protocol: which protocol this socket belongs in this network family |
231 | * @sk_peer_pid: &struct pid for this socket's peer | 232 | * @sk_peer_pid: &struct pid for this socket's peer |
@@ -921,7 +922,7 @@ inline void sk_refcnt_debug_release(const struct sock *sk) | |||
921 | #define sk_refcnt_debug_release(sk) do { } while (0) | 922 | #define sk_refcnt_debug_release(sk) do { } while (0) |
922 | #endif /* SOCK_REFCNT_DEBUG */ | 923 | #endif /* SOCK_REFCNT_DEBUG */ |
923 | 924 | ||
924 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_KMEM | 925 | #if defined(CONFIG_CGROUP_MEM_RES_CTLR_KMEM) && defined(CONFIG_NET) |
925 | extern struct jump_label_key memcg_socket_limit_enabled; | 926 | extern struct jump_label_key memcg_socket_limit_enabled; |
926 | static inline struct cg_proto *parent_cg_proto(struct proto *proto, | 927 | static inline struct cg_proto *parent_cg_proto(struct proto *proto, |
927 | struct cg_proto *cg_proto) | 928 | struct cg_proto *cg_proto) |
@@ -1007,9 +1008,8 @@ static inline void memcg_memory_allocated_add(struct cg_proto *prot, | |||
1007 | struct res_counter *fail; | 1008 | struct res_counter *fail; |
1008 | int ret; | 1009 | int ret; |
1009 | 1010 | ||
1010 | ret = res_counter_charge(prot->memory_allocated, | 1011 | ret = res_counter_charge_nofail(prot->memory_allocated, |
1011 | amt << PAGE_SHIFT, &fail); | 1012 | amt << PAGE_SHIFT, &fail); |
1012 | |||
1013 | if (ret < 0) | 1013 | if (ret < 0) |
1014 | *parent_status = OVER_LIMIT; | 1014 | *parent_status = OVER_LIMIT; |
1015 | } | 1015 | } |
@@ -1053,12 +1053,11 @@ sk_memory_allocated_add(struct sock *sk, int amt, int *parent_status) | |||
1053 | } | 1053 | } |
1054 | 1054 | ||
1055 | static inline void | 1055 | static inline void |
1056 | sk_memory_allocated_sub(struct sock *sk, int amt, int parent_status) | 1056 | sk_memory_allocated_sub(struct sock *sk, int amt) |
1057 | { | 1057 | { |
1058 | struct proto *prot = sk->sk_prot; | 1058 | struct proto *prot = sk->sk_prot; |
1059 | 1059 | ||
1060 | if (mem_cgroup_sockets_enabled && sk->sk_cgrp && | 1060 | if (mem_cgroup_sockets_enabled && sk->sk_cgrp) |
1061 | parent_status != OVER_LIMIT) /* Otherwise was uncharged already */ | ||
1062 | memcg_memory_allocated_sub(sk->sk_cgrp, amt); | 1061 | memcg_memory_allocated_sub(sk->sk_cgrp, amt); |
1063 | 1062 | ||
1064 | atomic_long_sub(amt, prot->memory_allocated); | 1063 | atomic_long_sub(amt, prot->memory_allocated); |