diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/blk-cgroup.h | 45 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 2 | ||||
| -rw-r--r-- | include/linux/timekeeping.h | 4 | ||||
| -rw-r--r-- | include/linux/tracepoint.h | 8 | ||||
| -rw-r--r-- | include/net/cfg80211.h | 4 | ||||
| -rw-r--r-- | include/net/regulatory.h | 4 | ||||
| -rw-r--r-- | include/uapi/linux/keyctl.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/rds.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/vhost.h | 2 |
9 files changed, 61 insertions, 11 deletions
diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h index 34aec30e06c7..6d766a19f2bb 100644 --- a/include/linux/blk-cgroup.h +++ b/include/linux/blk-cgroup.h | |||
| @@ -56,6 +56,7 @@ struct blkcg { | |||
| 56 | struct list_head all_blkcgs_node; | 56 | struct list_head all_blkcgs_node; |
| 57 | #ifdef CONFIG_CGROUP_WRITEBACK | 57 | #ifdef CONFIG_CGROUP_WRITEBACK |
| 58 | struct list_head cgwb_list; | 58 | struct list_head cgwb_list; |
| 59 | refcount_t cgwb_refcnt; | ||
| 59 | #endif | 60 | #endif |
| 60 | }; | 61 | }; |
| 61 | 62 | ||
| @@ -89,7 +90,6 @@ struct blkg_policy_data { | |||
| 89 | /* the blkg and policy id this per-policy data belongs to */ | 90 | /* the blkg and policy id this per-policy data belongs to */ |
| 90 | struct blkcg_gq *blkg; | 91 | struct blkcg_gq *blkg; |
| 91 | int plid; | 92 | int plid; |
| 92 | bool offline; | ||
| 93 | }; | 93 | }; |
| 94 | 94 | ||
| 95 | /* | 95 | /* |
| @@ -387,6 +387,49 @@ static inline struct blkcg *cpd_to_blkcg(struct blkcg_policy_data *cpd) | |||
| 387 | return cpd ? cpd->blkcg : NULL; | 387 | return cpd ? cpd->blkcg : NULL; |
| 388 | } | 388 | } |
| 389 | 389 | ||
| 390 | extern void blkcg_destroy_blkgs(struct blkcg *blkcg); | ||
| 391 | |||
| 392 | #ifdef CONFIG_CGROUP_WRITEBACK | ||
| 393 | |||
| 394 | /** | ||
| 395 | * blkcg_cgwb_get - get a reference for blkcg->cgwb_list | ||
| 396 | * @blkcg: blkcg of interest | ||
| 397 | * | ||
| 398 | * This is used to track the number of active wb's related to a blkcg. | ||
| 399 | */ | ||
| 400 | static inline void blkcg_cgwb_get(struct blkcg *blkcg) | ||
| 401 | { | ||
| 402 | refcount_inc(&blkcg->cgwb_refcnt); | ||
| 403 | } | ||
| 404 | |||
| 405 | /** | ||
| 406 | * blkcg_cgwb_put - put a reference for @blkcg->cgwb_list | ||
| 407 | * @blkcg: blkcg of interest | ||
| 408 | * | ||
| 409 | * This is used to track the number of active wb's related to a blkcg. | ||
| 410 | * When this count goes to zero, all active wb has finished so the | ||
| 411 | * blkcg can continue destruction by calling blkcg_destroy_blkgs(). | ||
| 412 | * This work may occur in cgwb_release_workfn() on the cgwb_release | ||
| 413 | * workqueue. | ||
| 414 | */ | ||
| 415 | static inline void blkcg_cgwb_put(struct blkcg *blkcg) | ||
| 416 | { | ||
| 417 | if (refcount_dec_and_test(&blkcg->cgwb_refcnt)) | ||
| 418 | blkcg_destroy_blkgs(blkcg); | ||
| 419 | } | ||
| 420 | |||
| 421 | #else | ||
| 422 | |||
| 423 | static inline void blkcg_cgwb_get(struct blkcg *blkcg) { } | ||
| 424 | |||
| 425 | static inline void blkcg_cgwb_put(struct blkcg *blkcg) | ||
| 426 | { | ||
| 427 | /* wb isn't being accounted, so trigger destruction right away */ | ||
| 428 | blkcg_destroy_blkgs(blkcg); | ||
| 429 | } | ||
| 430 | |||
| 431 | #endif | ||
| 432 | |||
| 390 | /** | 433 | /** |
| 391 | * blkg_path - format cgroup path of blkg | 434 | * blkg_path - format cgroup path of blkg |
| 392 | * @blkg: blkg of interest | 435 | * @blkg: blkg of interest |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 99d366cb0e9f..d157983b84cf 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -3084,4 +3084,6 @@ | |||
| 3084 | 3084 | ||
| 3085 | #define PCI_VENDOR_ID_OCZ 0x1b85 | 3085 | #define PCI_VENDOR_ID_OCZ 0x1b85 |
| 3086 | 3086 | ||
| 3087 | #define PCI_VENDOR_ID_NCUBE 0x10ff | ||
| 3088 | |||
| 3087 | #endif /* _LINUX_PCI_IDS_H */ | 3089 | #endif /* _LINUX_PCI_IDS_H */ |
diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h index 5d738804e3d6..a5a3cfc3c2fa 100644 --- a/include/linux/timekeeping.h +++ b/include/linux/timekeeping.h | |||
| @@ -258,8 +258,8 @@ extern void ktime_get_snapshot(struct system_time_snapshot *systime_snapshot); | |||
| 258 | extern int persistent_clock_is_local; | 258 | extern int persistent_clock_is_local; |
| 259 | 259 | ||
| 260 | extern void read_persistent_clock64(struct timespec64 *ts); | 260 | extern void read_persistent_clock64(struct timespec64 *ts); |
| 261 | void read_persistent_clock_and_boot_offset(struct timespec64 *wall_clock, | 261 | void read_persistent_wall_and_boot_offset(struct timespec64 *wall_clock, |
| 262 | struct timespec64 *boot_offset); | 262 | struct timespec64 *boot_offset); |
| 263 | extern int update_persistent_clock64(struct timespec64 now); | 263 | extern int update_persistent_clock64(struct timespec64 now); |
| 264 | 264 | ||
| 265 | /* | 265 | /* |
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index 7f2e16e76ac4..041f7e56a289 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h | |||
| @@ -158,8 +158,10 @@ extern void syscall_unregfunc(void); | |||
| 158 | * For rcuidle callers, use srcu since sched-rcu \ | 158 | * For rcuidle callers, use srcu since sched-rcu \ |
| 159 | * doesn't work from the idle path. \ | 159 | * doesn't work from the idle path. \ |
| 160 | */ \ | 160 | */ \ |
| 161 | if (rcuidle) \ | 161 | if (rcuidle) { \ |
| 162 | idx = srcu_read_lock_notrace(&tracepoint_srcu); \ | 162 | idx = srcu_read_lock_notrace(&tracepoint_srcu); \ |
| 163 | rcu_irq_enter_irqson(); \ | ||
| 164 | } \ | ||
| 163 | \ | 165 | \ |
| 164 | it_func_ptr = rcu_dereference_raw((tp)->funcs); \ | 166 | it_func_ptr = rcu_dereference_raw((tp)->funcs); \ |
| 165 | \ | 167 | \ |
| @@ -171,8 +173,10 @@ extern void syscall_unregfunc(void); | |||
| 171 | } while ((++it_func_ptr)->func); \ | 173 | } while ((++it_func_ptr)->func); \ |
| 172 | } \ | 174 | } \ |
| 173 | \ | 175 | \ |
| 174 | if (rcuidle) \ | 176 | if (rcuidle) { \ |
| 177 | rcu_irq_exit_irqson(); \ | ||
| 175 | srcu_read_unlock_notrace(&tracepoint_srcu, idx);\ | 178 | srcu_read_unlock_notrace(&tracepoint_srcu, idx);\ |
| 179 | } \ | ||
| 176 | \ | 180 | \ |
| 177 | preempt_enable_notrace(); \ | 181 | preempt_enable_notrace(); \ |
| 178 | } while (0) | 182 | } while (0) |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 9a850973e09a..8ebabc9873d1 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -4865,8 +4865,8 @@ const char *reg_initiator_name(enum nl80211_reg_initiator initiator); | |||
| 4865 | * | 4865 | * |
| 4866 | * Return: 0 on success. -ENODATA. | 4866 | * Return: 0 on success. -ENODATA. |
| 4867 | */ | 4867 | */ |
| 4868 | int reg_query_regdb_wmm(char *alpha2, int freq, u32 *ptr, | 4868 | int reg_query_regdb_wmm(char *alpha2, int freq, |
| 4869 | struct ieee80211_wmm_rule *rule); | 4869 | struct ieee80211_reg_rule *rule); |
| 4870 | 4870 | ||
| 4871 | /* | 4871 | /* |
| 4872 | * callbacks for asynchronous cfg80211 methods, notification | 4872 | * callbacks for asynchronous cfg80211 methods, notification |
diff --git a/include/net/regulatory.h b/include/net/regulatory.h index 60f8cc86a447..3469750df0f4 100644 --- a/include/net/regulatory.h +++ b/include/net/regulatory.h | |||
| @@ -217,15 +217,15 @@ struct ieee80211_wmm_rule { | |||
| 217 | struct ieee80211_reg_rule { | 217 | struct ieee80211_reg_rule { |
| 218 | struct ieee80211_freq_range freq_range; | 218 | struct ieee80211_freq_range freq_range; |
| 219 | struct ieee80211_power_rule power_rule; | 219 | struct ieee80211_power_rule power_rule; |
| 220 | struct ieee80211_wmm_rule *wmm_rule; | 220 | struct ieee80211_wmm_rule wmm_rule; |
| 221 | u32 flags; | 221 | u32 flags; |
| 222 | u32 dfs_cac_ms; | 222 | u32 dfs_cac_ms; |
| 223 | bool has_wmm; | ||
| 223 | }; | 224 | }; |
| 224 | 225 | ||
| 225 | struct ieee80211_regdomain { | 226 | struct ieee80211_regdomain { |
| 226 | struct rcu_head rcu_head; | 227 | struct rcu_head rcu_head; |
| 227 | u32 n_reg_rules; | 228 | u32 n_reg_rules; |
| 228 | u32 n_wmm_rules; | ||
| 229 | char alpha2[3]; | 229 | char alpha2[3]; |
| 230 | enum nl80211_dfs_regions dfs_region; | 230 | enum nl80211_dfs_regions dfs_region; |
| 231 | struct ieee80211_reg_rule reg_rules[]; | 231 | struct ieee80211_reg_rule reg_rules[]; |
diff --git a/include/uapi/linux/keyctl.h b/include/uapi/linux/keyctl.h index 7b8c9e19bad1..910cc4334b21 100644 --- a/include/uapi/linux/keyctl.h +++ b/include/uapi/linux/keyctl.h | |||
| @@ -65,7 +65,7 @@ | |||
| 65 | 65 | ||
| 66 | /* keyctl structures */ | 66 | /* keyctl structures */ |
| 67 | struct keyctl_dh_params { | 67 | struct keyctl_dh_params { |
| 68 | __s32 private; | 68 | __s32 dh_private; |
| 69 | __s32 prime; | 69 | __s32 prime; |
| 70 | __s32 base; | 70 | __s32 base; |
| 71 | }; | 71 | }; |
diff --git a/include/uapi/linux/rds.h b/include/uapi/linux/rds.h index dc520e1a4123..8b73cb603c5f 100644 --- a/include/uapi/linux/rds.h +++ b/include/uapi/linux/rds.h | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | 37 | ||
| 38 | #include <linux/types.h> | 38 | #include <linux/types.h> |
| 39 | #include <linux/socket.h> /* For __kernel_sockaddr_storage. */ | 39 | #include <linux/socket.h> /* For __kernel_sockaddr_storage. */ |
| 40 | #include <linux/in6.h> /* For struct in6_addr. */ | ||
| 40 | 41 | ||
| 41 | #define RDS_IB_ABI_VERSION 0x301 | 42 | #define RDS_IB_ABI_VERSION 0x301 |
| 42 | 43 | ||
diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h index b1e22c40c4b6..84c3de89696a 100644 --- a/include/uapi/linux/vhost.h +++ b/include/uapi/linux/vhost.h | |||
| @@ -176,7 +176,7 @@ struct vhost_memory { | |||
| 176 | #define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 | 176 | #define VHOST_BACKEND_F_IOTLB_MSG_V2 0x1 |
| 177 | 177 | ||
| 178 | #define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64) | 178 | #define VHOST_SET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x25, __u64) |
| 179 | #define VHOST_GET_BACKEND_FEATURES _IOW(VHOST_VIRTIO, 0x26, __u64) | 179 | #define VHOST_GET_BACKEND_FEATURES _IOR(VHOST_VIRTIO, 0x26, __u64) |
| 180 | 180 | ||
| 181 | /* VHOST_NET specific defines */ | 181 | /* VHOST_NET specific defines */ |
| 182 | 182 | ||
