aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-04-08 18:41:58 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-04-08 18:41:58 -0400
commit636c8a8d85d0564222071f0caa4a4e6bf527efe5 (patch)
treef1958f80f596cfcf496904f12a62662fa79ce990 /include/linux
parent39ec5cbed0bb1878d0b65af0c5e653e37e1945a5 (diff)
parentd48d5691ebf88a15d95ba96486917ffc79256536 (diff)
Merge tag 'usb-serial-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
Johan writes: USB-serial fixes for v4.6-rc3 Here are some new device ids. Signed-off-by: Johan Hovold <johan@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/atomic.h34
-rw-r--r--include/linux/brcmphy.h2
-rw-r--r--include/linux/configfs.h4
-rw-r--r--include/linux/filter.h4
-rw-r--r--include/linux/huge_mm.h2
-rw-r--r--include/linux/netfilter/ipset/ip_set.h4
-rw-r--r--include/linux/pmem.h22
-rw-r--r--include/linux/sched.h4
-rw-r--r--include/linux/stmmac.h1
9 files changed, 48 insertions, 29 deletions
diff --git a/include/linux/atomic.h b/include/linux/atomic.h
index df4f369254c0..506c3531832e 100644
--- a/include/linux/atomic.h
+++ b/include/linux/atomic.h
@@ -559,25 +559,25 @@ static inline int atomic_dec_if_positive(atomic_t *v)
559#endif 559#endif
560 560
561/** 561/**
562 * fetch_or - perform *ptr |= mask and return old value of *ptr 562 * atomic_fetch_or - perform *p |= mask and return old value of *p
563 * @ptr: pointer to value 563 * @p: pointer to atomic_t
564 * @mask: mask to OR on the value 564 * @mask: mask to OR on the atomic_t
565 *
566 * cmpxchg based fetch_or, macro so it works for different integer types
567 */ 565 */
568#ifndef fetch_or 566#ifndef atomic_fetch_or
569#define fetch_or(ptr, mask) \ 567static inline int atomic_fetch_or(atomic_t *p, int mask)
570({ typeof(*(ptr)) __old, __val = *(ptr); \ 568{
571 for (;;) { \ 569 int old, val = atomic_read(p);
572 __old = cmpxchg((ptr), __val, __val | (mask)); \ 570
573 if (__old == __val) \ 571 for (;;) {
574 break; \ 572 old = atomic_cmpxchg(p, val, val | mask);
575 __val = __old; \ 573 if (old == val)
576 } \ 574 break;
577 __old; \ 575 val = old;
578}) 576 }
579#endif
580 577
578 return old;
579}
580#endif
581 581
582#ifdef CONFIG_GENERIC_ATOMIC64 582#ifdef CONFIG_GENERIC_ATOMIC64
583#include <asm-generic/atomic64.h> 583#include <asm-generic/atomic64.h>
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h
index f0ba9c2ec639..e3354b74286c 100644
--- a/include/linux/brcmphy.h
+++ b/include/linux/brcmphy.h
@@ -24,6 +24,8 @@
24#define PHY_ID_BCM7250 0xae025280 24#define PHY_ID_BCM7250 0xae025280
25#define PHY_ID_BCM7364 0xae025260 25#define PHY_ID_BCM7364 0xae025260
26#define PHY_ID_BCM7366 0x600d8490 26#define PHY_ID_BCM7366 0x600d8490
27#define PHY_ID_BCM7346 0x600d8650
28#define PHY_ID_BCM7362 0x600d84b0
27#define PHY_ID_BCM7425 0x600d86b0 29#define PHY_ID_BCM7425 0x600d86b0
28#define PHY_ID_BCM7429 0x600d8730 30#define PHY_ID_BCM7429 0x600d8730
29#define PHY_ID_BCM7435 0x600d8750 31#define PHY_ID_BCM7435 0x600d8750
diff --git a/include/linux/configfs.h b/include/linux/configfs.h
index 485fe5519448..d9d6a9d77489 100644
--- a/include/linux/configfs.h
+++ b/include/linux/configfs.h
@@ -188,7 +188,7 @@ static struct configfs_bin_attribute _pfx##attr_##_name = { \
188} 188}
189 189
190#define CONFIGFS_BIN_ATTR_RO(_pfx, _name, _priv, _maxsz) \ 190#define CONFIGFS_BIN_ATTR_RO(_pfx, _name, _priv, _maxsz) \
191static struct configfs_attribute _pfx##attr_##_name = { \ 191static struct configfs_bin_attribute _pfx##attr_##_name = { \
192 .cb_attr = { \ 192 .cb_attr = { \
193 .ca_name = __stringify(_name), \ 193 .ca_name = __stringify(_name), \
194 .ca_mode = S_IRUGO, \ 194 .ca_mode = S_IRUGO, \
@@ -200,7 +200,7 @@ static struct configfs_attribute _pfx##attr_##_name = { \
200} 200}
201 201
202#define CONFIGFS_BIN_ATTR_WO(_pfx, _name, _priv, _maxsz) \ 202#define CONFIGFS_BIN_ATTR_WO(_pfx, _name, _priv, _maxsz) \
203static struct configfs_attribute _pfx##attr_##_name = { \ 203static struct configfs_bin_attribute _pfx##attr_##_name = { \
204 .cb_attr = { \ 204 .cb_attr = { \
205 .ca_name = __stringify(_name), \ 205 .ca_name = __stringify(_name), \
206 .ca_mode = S_IWUSR, \ 206 .ca_mode = S_IWUSR, \
diff --git a/include/linux/filter.h b/include/linux/filter.h
index 43aa1f8855c7..a51a5361695f 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -465,10 +465,14 @@ int bpf_prog_create_from_user(struct bpf_prog **pfp, struct sock_fprog *fprog,
465void bpf_prog_destroy(struct bpf_prog *fp); 465void bpf_prog_destroy(struct bpf_prog *fp);
466 466
467int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk); 467int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk);
468int __sk_attach_filter(struct sock_fprog *fprog, struct sock *sk,
469 bool locked);
468int sk_attach_bpf(u32 ufd, struct sock *sk); 470int sk_attach_bpf(u32 ufd, struct sock *sk);
469int sk_reuseport_attach_filter(struct sock_fprog *fprog, struct sock *sk); 471int sk_reuseport_attach_filter(struct sock_fprog *fprog, struct sock *sk);
470int sk_reuseport_attach_bpf(u32 ufd, struct sock *sk); 472int sk_reuseport_attach_bpf(u32 ufd, struct sock *sk);
471int sk_detach_filter(struct sock *sk); 473int sk_detach_filter(struct sock *sk);
474int __sk_detach_filter(struct sock *sk, bool locked);
475
472int sk_get_filter(struct sock *sk, struct sock_filter __user *filter, 476int sk_get_filter(struct sock *sk, struct sock_filter __user *filter,
473 unsigned int len); 477 unsigned int len);
474 478
diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
index 79b0ef6aaa14..7008623e24b1 100644
--- a/include/linux/huge_mm.h
+++ b/include/linux/huge_mm.h
@@ -127,7 +127,7 @@ static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd,
127 if (pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) 127 if (pmd_trans_huge(*pmd) || pmd_devmap(*pmd))
128 return __pmd_trans_huge_lock(pmd, vma); 128 return __pmd_trans_huge_lock(pmd, vma);
129 else 129 else
130 return false; 130 return NULL;
131} 131}
132static inline int hpage_nr_pages(struct page *page) 132static inline int hpage_nr_pages(struct page *page)
133{ 133{
diff --git a/include/linux/netfilter/ipset/ip_set.h b/include/linux/netfilter/ipset/ip_set.h
index 0e1f433cc4b7..f48b8a664b0f 100644
--- a/include/linux/netfilter/ipset/ip_set.h
+++ b/include/linux/netfilter/ipset/ip_set.h
@@ -234,6 +234,10 @@ struct ip_set {
234 spinlock_t lock; 234 spinlock_t lock;
235 /* References to the set */ 235 /* References to the set */
236 u32 ref; 236 u32 ref;
237 /* References to the set for netlink events like dump,
238 * ref can be swapped out by ip_set_swap
239 */
240 u32 ref_netlink;
237 /* The core set type */ 241 /* The core set type */
238 struct ip_set_type *type; 242 struct ip_set_type *type;
239 /* The type variant doing the real job */ 243 /* The type variant doing the real job */
diff --git a/include/linux/pmem.h b/include/linux/pmem.h
index 3ec5309e29f3..ac6d872ce067 100644
--- a/include/linux/pmem.h
+++ b/include/linux/pmem.h
@@ -42,6 +42,13 @@ static inline void arch_memcpy_to_pmem(void __pmem *dst, const void *src,
42 BUG(); 42 BUG();
43} 43}
44 44
45static inline int arch_memcpy_from_pmem(void *dst, const void __pmem *src,
46 size_t n)
47{
48 BUG();
49 return -EFAULT;
50}
51
45static inline size_t arch_copy_from_iter_pmem(void __pmem *addr, size_t bytes, 52static inline size_t arch_copy_from_iter_pmem(void __pmem *addr, size_t bytes,
46 struct iov_iter *i) 53 struct iov_iter *i)
47{ 54{
@@ -66,14 +73,17 @@ static inline void arch_invalidate_pmem(void __pmem *addr, size_t size)
66#endif 73#endif
67 74
68/* 75/*
69 * Architectures that define ARCH_HAS_PMEM_API must provide 76 * memcpy_from_pmem - read from persistent memory with error handling
70 * implementations for arch_memcpy_to_pmem(), arch_wmb_pmem(), 77 * @dst: destination buffer
71 * arch_copy_from_iter_pmem(), arch_clear_pmem(), arch_wb_cache_pmem() 78 * @src: source buffer
72 * and arch_has_wmb_pmem(). 79 * @size: transfer length
80 *
81 * Returns 0 on success negative error code on failure.
73 */ 82 */
74static inline void memcpy_from_pmem(void *dst, void __pmem const *src, size_t size) 83static inline int memcpy_from_pmem(void *dst, void __pmem const *src,
84 size_t size)
75{ 85{
76 memcpy(dst, (void __force const *) src, size); 86 return arch_memcpy_from_pmem(dst, src, size);
77} 87}
78 88
79static inline bool arch_has_pmem_api(void) 89static inline bool arch_has_pmem_api(void)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 60bba7e032dc..52c4847b05e2 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -720,7 +720,7 @@ struct signal_struct {
720 struct task_cputime cputime_expires; 720 struct task_cputime cputime_expires;
721 721
722#ifdef CONFIG_NO_HZ_FULL 722#ifdef CONFIG_NO_HZ_FULL
723 unsigned long tick_dep_mask; 723 atomic_t tick_dep_mask;
724#endif 724#endif
725 725
726 struct list_head cpu_timers[3]; 726 struct list_head cpu_timers[3];
@@ -1549,7 +1549,7 @@ struct task_struct {
1549#endif 1549#endif
1550 1550
1551#ifdef CONFIG_NO_HZ_FULL 1551#ifdef CONFIG_NO_HZ_FULL
1552 unsigned long tick_dep_mask; 1552 atomic_t tick_dep_mask;
1553#endif 1553#endif
1554 unsigned long nvcsw, nivcsw; /* context switch counts */ 1554 unsigned long nvcsw, nivcsw; /* context switch counts */
1555 u64 start_time; /* monotonic time in nsec */ 1555 u64 start_time; /* monotonic time in nsec */
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 4bcf5a61aada..e6bc30a42a74 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -108,7 +108,6 @@ struct stmmac_axi {
108}; 108};
109 109
110struct plat_stmmacenet_data { 110struct plat_stmmacenet_data {
111 char *phy_bus_name;
112 int bus_id; 111 int bus_id;
113 int phy_addr; 112 int phy_addr;
114 int interface; 113 int interface;