aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2017-12-31 03:58:07 -0500
committerWolfram Sang <wsa@the-dreams.de>2017-12-31 03:58:07 -0500
commit639136d2a70ab9837befb22ad5b3d67cb4db2216 (patch)
tree64e7d426cf7b7ffdce6798986c63dcdfe025c53d /include/linux
parent017fc4f6f4b7b70e443e7ef673732517ece111c8 (diff)
parentac5b85de17cb96445c51bd1a1c53c3f675582f26 (diff)
Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-4.16
"A couple of patches this time. Just some more compatibles for the pca954x driver and an error handling tweak for the reg driver."
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h19
-rw-r--r--include/linux/hugetlb.h8
-rw-r--r--include/linux/kallsyms.h6
-rw-r--r--include/linux/kvm_host.h3
-rw-r--r--include/linux/libgcc.h43
-rw-r--r--include/linux/migrate.h2
-rw-r--r--include/linux/mm.h14
-rw-r--r--include/linux/sunrpc/cache.h2
8 files changed, 79 insertions, 18 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2995a271ec46..511fbaabf624 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1872,7 +1872,7 @@ struct super_operations {
1872 */ 1872 */
1873#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg)) 1873#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg))
1874 1874
1875static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & MS_RDONLY; } 1875static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & SB_RDONLY; }
1876#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb) 1876#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb)
1877#define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \ 1877#define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \
1878 ((inode)->i_flags & S_SYNC)) 1878 ((inode)->i_flags & S_SYNC))
@@ -3088,7 +3088,8 @@ static inline int vfs_lstat(const char __user *name, struct kstat *stat)
3088static inline int vfs_fstatat(int dfd, const char __user *filename, 3088static inline int vfs_fstatat(int dfd, const char __user *filename,
3089 struct kstat *stat, int flags) 3089 struct kstat *stat, int flags)
3090{ 3090{
3091 return vfs_statx(dfd, filename, flags, stat, STATX_BASIC_STATS); 3091 return vfs_statx(dfd, filename, flags | AT_NO_AUTOMOUNT,
3092 stat, STATX_BASIC_STATS);
3092} 3093}
3093static inline int vfs_fstat(int fd, struct kstat *stat) 3094static inline int vfs_fstat(int fd, struct kstat *stat)
3094{ 3095{
@@ -3194,6 +3195,20 @@ static inline bool vma_is_dax(struct vm_area_struct *vma)
3194 return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host); 3195 return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host);
3195} 3196}
3196 3197
3198static inline bool vma_is_fsdax(struct vm_area_struct *vma)
3199{
3200 struct inode *inode;
3201
3202 if (!vma->vm_file)
3203 return false;
3204 if (!vma_is_dax(vma))
3205 return false;
3206 inode = file_inode(vma->vm_file);
3207 if (inode->i_mode == S_IFCHR)
3208 return false; /* device-dax */
3209 return true;
3210}
3211
3197static inline int iocb_flags(struct file *file) 3212static inline int iocb_flags(struct file *file)
3198{ 3213{
3199 int res = 0; 3214 int res = 0;
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index fbf5b31d47ee..82a25880714a 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -239,14 +239,6 @@ static inline int pgd_write(pgd_t pgd)
239} 239}
240#endif 240#endif
241 241
242#ifndef pud_write
243static inline int pud_write(pud_t pud)
244{
245 BUG();
246 return 0;
247}
248#endif
249
250#define HUGETLB_ANON_FILE "anon_hugepage" 242#define HUGETLB_ANON_FILE "anon_hugepage"
251 243
252enum { 244enum {
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index 708f337d780b..bd118a6c60cb 100644
--- a/include/linux/kallsyms.h
+++ b/include/linux/kallsyms.h
@@ -14,12 +14,6 @@
14#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \ 14#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \
15 2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1) 15 2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1)
16 16
17#ifndef CONFIG_64BIT
18# define KALLSYM_FMT "%08lx"
19#else
20# define KALLSYM_FMT "%016lx"
21#endif
22
23struct module; 17struct module;
24 18
25#ifdef CONFIG_KALLSYMS 19#ifdef CONFIG_KALLSYMS
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 2e754b7c282c..893d6d606cd0 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -715,6 +715,9 @@ int kvm_vcpu_write_guest(struct kvm_vcpu *vcpu, gpa_t gpa, const void *data,
715 unsigned long len); 715 unsigned long len);
716void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn); 716void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn);
717 717
718void kvm_sigset_activate(struct kvm_vcpu *vcpu);
719void kvm_sigset_deactivate(struct kvm_vcpu *vcpu);
720
718void kvm_vcpu_block(struct kvm_vcpu *vcpu); 721void kvm_vcpu_block(struct kvm_vcpu *vcpu);
719void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu); 722void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu);
720void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu); 723void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu);
diff --git a/include/linux/libgcc.h b/include/linux/libgcc.h
new file mode 100644
index 000000000000..32e1e0f4b2d0
--- /dev/null
+++ b/include/linux/libgcc.h
@@ -0,0 +1,43 @@
1/*
2 * include/lib/libgcc.h
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, see the file COPYING, or write
16 * to the Free Software Foundation, Inc.
17 */
18
19#ifndef __LIB_LIBGCC_H
20#define __LIB_LIBGCC_H
21
22#include <asm/byteorder.h>
23
24typedef int word_type __attribute__ ((mode (__word__)));
25
26#ifdef __BIG_ENDIAN
27struct DWstruct {
28 int high, low;
29};
30#elif defined(__LITTLE_ENDIAN)
31struct DWstruct {
32 int low, high;
33};
34#else
35#error I feel sick.
36#endif
37
38typedef union {
39 struct DWstruct s;
40 long long ll;
41} DWunion;
42
43#endif /* __ASM_LIBGCC_H */
diff --git a/include/linux/migrate.h b/include/linux/migrate.h
index 895ec0c4942e..a2246cf670ba 100644
--- a/include/linux/migrate.h
+++ b/include/linux/migrate.h
@@ -54,7 +54,7 @@ static inline struct page *new_page_nodemask(struct page *page,
54 new_page = __alloc_pages_nodemask(gfp_mask, order, 54 new_page = __alloc_pages_nodemask(gfp_mask, order,
55 preferred_nid, nodemask); 55 preferred_nid, nodemask);
56 56
57 if (new_page && PageTransHuge(page)) 57 if (new_page && PageTransHuge(new_page))
58 prep_transhuge_page(new_page); 58 prep_transhuge_page(new_page);
59 59
60 return new_page; 60 return new_page;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index ee073146aaa7..ea818ff739cd 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -377,6 +377,7 @@ enum page_entry_size {
377struct vm_operations_struct { 377struct vm_operations_struct {
378 void (*open)(struct vm_area_struct * area); 378 void (*open)(struct vm_area_struct * area);
379 void (*close)(struct vm_area_struct * area); 379 void (*close)(struct vm_area_struct * area);
380 int (*split)(struct vm_area_struct * area, unsigned long addr);
380 int (*mremap)(struct vm_area_struct * area); 381 int (*mremap)(struct vm_area_struct * area);
381 int (*fault)(struct vm_fault *vmf); 382 int (*fault)(struct vm_fault *vmf);
382 int (*huge_fault)(struct vm_fault *vmf, enum page_entry_size pe_size); 383 int (*huge_fault)(struct vm_fault *vmf, enum page_entry_size pe_size);
@@ -1379,6 +1380,19 @@ long get_user_pages_locked(unsigned long start, unsigned long nr_pages,
1379 unsigned int gup_flags, struct page **pages, int *locked); 1380 unsigned int gup_flags, struct page **pages, int *locked);
1380long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages, 1381long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
1381 struct page **pages, unsigned int gup_flags); 1382 struct page **pages, unsigned int gup_flags);
1383#ifdef CONFIG_FS_DAX
1384long get_user_pages_longterm(unsigned long start, unsigned long nr_pages,
1385 unsigned int gup_flags, struct page **pages,
1386 struct vm_area_struct **vmas);
1387#else
1388static inline long get_user_pages_longterm(unsigned long start,
1389 unsigned long nr_pages, unsigned int gup_flags,
1390 struct page **pages, struct vm_area_struct **vmas)
1391{
1392 return get_user_pages(start, nr_pages, gup_flags, pages, vmas);
1393}
1394#endif /* CONFIG_FS_DAX */
1395
1382int get_user_pages_fast(unsigned long start, int nr_pages, int write, 1396int get_user_pages_fast(unsigned long start, int nr_pages, int write,
1383 struct page **pages); 1397 struct page **pages);
1384 1398
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h
index 270bad0e1bed..40d2822f0e2f 100644
--- a/include/linux/sunrpc/cache.h
+++ b/include/linux/sunrpc/cache.h
@@ -213,7 +213,7 @@ extern void __init cache_initialize(void);
213extern int cache_register_net(struct cache_detail *cd, struct net *net); 213extern int cache_register_net(struct cache_detail *cd, struct net *net);
214extern void cache_unregister_net(struct cache_detail *cd, struct net *net); 214extern void cache_unregister_net(struct cache_detail *cd, struct net *net);
215 215
216extern struct cache_detail *cache_create_net(struct cache_detail *tmpl, struct net *net); 216extern struct cache_detail *cache_create_net(const struct cache_detail *tmpl, struct net *net);
217extern void cache_destroy_net(struct cache_detail *cd, struct net *net); 217extern void cache_destroy_net(struct cache_detail *cd, struct net *net);
218 218
219extern void sunrpc_init_cache_detail(struct cache_detail *cd); 219extern void sunrpc_init_cache_detail(struct cache_detail *cd);