aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/blk-cgroup.h45
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/timekeeping.h4
-rw-r--r--include/linux/tracepoint.h8
-rw-r--r--include/net/cfg80211.h4
-rw-r--r--include/net/regulatory.h4
-rw-r--r--include/uapi/linux/keyctl.h2
-rw-r--r--include/uapi/linux/rds.h1
-rw-r--r--include/uapi/linux/vhost.h2
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
390extern 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 */
400static 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 */
415static 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
423static inline void blkcg_cgwb_get(struct blkcg *blkcg) { }
424
425static 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);
258extern int persistent_clock_is_local; 258extern int persistent_clock_is_local;
259 259
260extern void read_persistent_clock64(struct timespec64 *ts); 260extern void read_persistent_clock64(struct timespec64 *ts);
261void read_persistent_clock_and_boot_offset(struct timespec64 *wall_clock, 261void read_persistent_wall_and_boot_offset(struct timespec64 *wall_clock,
262 struct timespec64 *boot_offset); 262 struct timespec64 *boot_offset);
263extern int update_persistent_clock64(struct timespec64 now); 263extern 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 */
4868int reg_query_regdb_wmm(char *alpha2, int freq, u32 *ptr, 4868int 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 {
217struct ieee80211_reg_rule { 217struct 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
225struct ieee80211_regdomain { 226struct 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 */
67struct keyctl_dh_params { 67struct 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