diff mbox

mm: move phys_mem_access_prot_allowed() declaration to pgtable.h

Message ID 1473683703-15727-1-git-send-email-baoyou.xie@linaro.org
State Superseded
Headers show

Commit Message

Baoyou Xie Sept. 12, 2016, 12:35 p.m. UTC
We get 1 warning when building kernel with W=1:
drivers/char/mem.c:220:12: warning: no previous prototype for 'phys_mem_access_prot_allowed' [-Wmissing-prototypes]
 int __weak phys_mem_access_prot_allowed(struct file *file,

In fact, its declaration is spreading to several header files
in different architecture, but need to be declare in common
header file.

So this patch moves phys_mem_access_prot_allowed() to pgtable.h.

Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>

---
 arch/mips/include/asm/pgtable.h      | 2 --
 arch/x86/include/asm/pgtable_types.h | 2 --
 include/asm-generic/pgtable.h        | 3 +++
 3 files changed, 3 insertions(+), 4 deletions(-)

-- 
2.7.4

Comments

kernel test robot Sept. 12, 2016, 3:13 p.m. UTC | #1
Hi Baoyou,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.8-rc6 next-20160912]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Baoyou-Xie/mm-move-phys_mem_access_prot_allowed-declaration-to-pgtable-h/20160912-211348
config: parisc-c3000_defconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=parisc 

All errors (new ones prefixed by >>):

   include/asm-generic/pgtable.h: Assembler messages:
>> include/asm-generic/pgtable.h:817: Error: Unknown opcode: `struct'

>> include/asm-generic/pgtable.h:818: Error: Unknown opcode: `int'

>> include/asm-generic/pgtable.h:819: Error: Unknown opcode: `unsigned'


vim +817 include/asm-generic/pgtable.h

   811	#define has_transparent_hugepage() 1
   812	#else
   813	#define has_transparent_hugepage() 0
   814	#endif
   815	#endif
   816	
 > 817	struct file;

 > 818	int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,

 > 819				unsigned long size, pgprot_t *vma_prot);

   820	#endif /* _ASM_GENERIC_PGTABLE_H */

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot Sept. 12, 2016, 3:40 p.m. UTC | #2
Hi Baoyou,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.8-rc6 next-20160912]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Baoyou-Xie/mm-move-phys_mem_access_prot_allowed-declaration-to-pgtable-h/20160912-211348
config: m32r-m32104ut_defconfig (attached as .config)
compiler: m32r-linux-gcc (GCC) 4.9.0
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=m32r 

All errors (new ones prefixed by >>):

   include/asm-generic/pgtable.h: Assembler messages:
>> include/asm-generic/pgtable.h:817: Error: bad instruction `struct file'

>> include/asm-generic/pgtable.h:818: Error: bad instruction `int phys_mem_access_prot_allowed(struct file*file,...'

>> include/asm-generic/pgtable.h:819: Error: bad instruction `unsigned long size,pgprot_t*vma_prot)'


vim +817 include/asm-generic/pgtable.h

   811	#define has_transparent_hugepage() 1
   812	#else
   813	#define has_transparent_hugepage() 0
   814	#endif
   815	#endif
   816	
 > 817	struct file;

 > 818	int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,

 > 819				unsigned long size, pgprot_t *vma_prot);

   820	#endif /* _ASM_GENERIC_PGTABLE_H */

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot Sept. 12, 2016, 4:24 p.m. UTC | #3
Hi Baoyou,

[auto build test ERROR on linus/master]
[also build test ERROR on v4.8-rc6 next-20160912]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Baoyou-Xie/mm-move-phys_mem_access_prot_allowed-declaration-to-pgtable-h/20160912-211348
config: xtensa-common_defconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   include/asm-generic/pgtable.h: Assembler messages:
>> include/asm-generic/pgtable.h:817: Error: unknown opcode or format name 'struct'

>> include/asm-generic/pgtable.h:818: Error: extra comma

>> include/asm-generic/pgtable.h:818: Error: syntax error

>> include/asm-generic/pgtable.h:819: Error: unknown opcode or format name 'unsigned'


vim +/struct +817 include/asm-generic/pgtable.h

   811	#define has_transparent_hugepage() 1
   812	#else
   813	#define has_transparent_hugepage() 0
   814	#endif
   815	#endif
   816	
 > 817	struct file;

 > 818	int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,

 > 819				unsigned long size, pgprot_t *vma_prot);

   820	#endif /* _ASM_GENERIC_PGTABLE_H */

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h
index 70128d3..9e9e944 100644
--- a/arch/mips/include/asm/pgtable.h
+++ b/arch/mips/include/asm/pgtable.h
@@ -673,8 +673,6 @@  static inline pmd_t pmdp_huge_get_and_clear(struct mm_struct *mm,
 struct file;
 pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
 		unsigned long size, pgprot_t vma_prot);
-int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
-		unsigned long size, pgprot_t *vma_prot);
 #endif
 
 /*
diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
index f1218f5..8b4de22 100644
--- a/arch/x86/include/asm/pgtable_types.h
+++ b/arch/x86/include/asm/pgtable_types.h
@@ -439,8 +439,6 @@  extern pgprot_t pgprot_writethrough(pgprot_t prot);
 struct file;
 pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
                               unsigned long size, pgprot_t vma_prot);
-int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
-                              unsigned long size, pgprot_t *vma_prot);
 
 /* Install a pte for a particular vaddr in kernel space. */
 void set_pte_vaddr(unsigned long vaddr, pte_t pte);
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
index d4458b6..ad625dd 100644
--- a/include/asm-generic/pgtable.h
+++ b/include/asm-generic/pgtable.h
@@ -814,4 +814,7 @@  static inline int pmd_clear_huge(pmd_t *pmd)
 #endif
 #endif
 
+struct file;
+int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
+			unsigned long size, pgprot_t *vma_prot);
 #endif /* _ASM_GENERIC_PGTABLE_H */