[mark-rutland:arm64/pgtable/cleanup 14/16] arch/arm64/mm/fixmap.c:49:13: warning: no previous prototype for function 'early_fixmap_init_pte'

From: kernel test robot
Date: Mon Aug 16 2021 - 16:02:43 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/pgtable/cleanup
head: 198e77ecb00474ffeb2d37614580d6936efa0dbc
commit: 5570396155aab65aeb4f58f43067322e1229d0a1 [14/16] arm64: mm: always map fixmap at page granularity
config: arm64-randconfig-r025-20210816 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 44d0a99a12ec7ead4d2f5ef649ba05b40f6d463d)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=5570396155aab65aeb4f58f43067322e1229d0a1
git remote add mark-rutland https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
git fetch --no-tags mark-rutland arm64/pgtable/cleanup
git checkout 5570396155aab65aeb4f58f43067322e1229d0a1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> arch/arm64/mm/fixmap.c:49:13: warning: no previous prototype for function 'early_fixmap_init_pte' [-Wmissing-prototypes]
void __init early_fixmap_init_pte(pmd_t *pmdp, unsigned long addr)
^
arch/arm64/mm/fixmap.c:49:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init early_fixmap_init_pte(pmd_t *pmdp, unsigned long addr)
^
static
>> arch/arm64/mm/fixmap.c:60:13: warning: no previous prototype for function 'early_fixmap_init_pmd' [-Wmissing-prototypes]
void __init early_fixmap_init_pmd(pud_t *pudp, unsigned long addr,
^
arch/arm64/mm/fixmap.c:60:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init early_fixmap_init_pmd(pud_t *pudp, unsigned long addr,
^
static
>> arch/arm64/mm/fixmap.c:77:13: warning: no previous prototype for function 'early_fixmap_init_pud' [-Wmissing-prototypes]
void __init early_fixmap_init_pud(p4d_t *p4dp, unsigned long addr,
^
arch/arm64/mm/fixmap.c:77:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init early_fixmap_init_pud(p4d_t *p4dp, unsigned long addr,
^
static
3 warnings generated.


vim +/early_fixmap_init_pte +49 arch/arm64/mm/fixmap.c

48
> 49 void __init early_fixmap_init_pte(pmd_t *pmdp, unsigned long addr)
50 {
51 pmd_t pmd = READ_ONCE(*pmdp);
52 pte_t *ptep;
53
54 if (pmd_none(pmd)) {
55 ptep = bm_pte[BM_PTE_IDX(addr)];
56 __pmd_populate(pmdp, __pa_symbol(ptep), PMD_TYPE_TABLE);
57 }
58 }
59
> 60 void __init early_fixmap_init_pmd(pud_t *pudp, unsigned long addr,
61 unsigned long end)
62 {
63 unsigned long next;
64 pud_t pud = READ_ONCE(*pudp);
65 pmd_t *pmdp;
66
67 if (pud_none(pud))
68 __pud_populate(pudp, __pa_symbol(bm_pmd), PUD_TYPE_TABLE);
69
70 pmdp = pmd_offset_kimg(pudp, addr);
71 do {
72 next = pmd_addr_end(addr, end);
73 early_fixmap_init_pte(pmdp, addr);
74 } while (pmdp++, addr = next, addr != end);
75 }
76
> 77 void __init early_fixmap_init_pud(p4d_t *p4dp, unsigned long addr,
78 unsigned long end)
79 {
80 p4d_t p4d = READ_ONCE(*p4dp);
81 pud_t *pudp;
82
83 if (CONFIG_PGTABLE_LEVELS > 3 && !p4d_none(p4d) &&
84 p4d_page_paddr(p4d) != __pa_symbol(bm_pud)) {
85 /*
86 * We only end up here if the kernel mapping and the fixmap
87 * share the top level pgd entry, which should only happen on
88 * 16k/4 levels configurations.
89 */
90 BUG_ON(!IS_ENABLED(CONFIG_ARM64_16K_PAGES));
91 }
92
93 if (p4d_none(p4d))
94 __p4d_populate(p4dp, __pa_symbol(bm_pud), P4D_TYPE_TABLE);
95
96 pudp = pud_offset_kimg(p4dp, addr);
97 early_fixmap_init_pmd(pudp, addr, end);
98 }
99

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip