[powerpc:next-test 70/71] arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'

Christophe Leroy christophe.leroy at c-s.fr
Wed Dec 12 09:35:55 AEDT 2018


Missing linux/mm.h

Will fix it in the coming patch.

Christophe

Le 11/12/2018 à 22:55, kbuild test robot a écrit :
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
> head:   13fd174be1903cc069bb73b0d53a0420b8f6d778
> commit: 3a0f466ce2402cc090c97ccc1285508f688d8a8e [70/71] powerpc: Implement CONFIG_DEBUG_VIRTUAL
> config: powerpc-ps3_petitboot_nfs_defconfig (attached as .config)
> compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          git checkout 3a0f466ce2402cc090c97ccc1285508f688d8a8e
>          # save the attached .config to linux build tree
>          GCC_VERSION=7.2.0 make.cross ARCH=powerpc
> 
> All warnings (new ones prefixed by >>):
> 
>     In file included from arch/powerpc/include/asm/page.h:339:0,
>                      from arch/powerpc/include/asm/thread_info.h:29,
>                      from include/linux/thread_info.h:38,
>                      from include/asm-generic/preempt.h:5,
>                      from ./arch/powerpc/include/generated/asm/preempt.h:1,
>                      from include/linux/preempt.h:81,
>                      from include/linux/spinlock.h:51,
>                      from include/linux/seqlock.h:36,
>                      from include/linux/time.h:6,
>                      from include/linux/jiffies.h:9,
>                      from drivers/net/loopback.c:32:
>     arch/powerpc/include/asm/io.h: In function 'page_to_phys':
>     include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean '__nr_to_section'? [-Werror=implicit-function-declaration]
>       int __sec = page_to_section(__pg);   \
>                   ^
>     include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
>      #define page_to_pfn __page_to_pfn
>                          ^~~~~~~~~~~~~
>>> arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'
>       unsigned long pfn = page_to_pfn(page);
>                           ^~~~~~~~~~~
>     In file included from include/linux/scatterlist.h:8:0,
>                      from include/linux/dma-mapping.h:11,
>                      from include/linux/skbuff.h:34,
>                      from include/net/net_namespace.h:36,
>                      from include/linux/inet.h:46,
>                      from drivers/net/loopback.c:46:
>     include/linux/mm.h: At top level:
>     include/linux/mm.h:1121:29: error: conflicting types for 'page_to_section'
>      static inline unsigned long page_to_section(const struct page *page)
>                                  ^~~~~~~~~~~~~~~
>     In file included from arch/powerpc/include/asm/page.h:339:0,
>                      from arch/powerpc/include/asm/thread_info.h:29,
>                      from include/linux/thread_info.h:38,
>                      from include/asm-generic/preempt.h:5,
>                      from ./arch/powerpc/include/generated/asm/preempt.h:1,
>                      from include/linux/preempt.h:81,
>                      from include/linux/spinlock.h:51,
>                      from include/linux/seqlock.h:36,
>                      from include/linux/time.h:6,
>                      from include/linux/jiffies.h:9,
>                      from drivers/net/loopback.c:32:
>     include/asm-generic/memory_model.h:64:14: note: previous implicit declaration of 'page_to_section' was here
>       int __sec = page_to_section(__pg);   \
>                   ^
>     include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
>      #define page_to_pfn __page_to_pfn
>                          ^~~~~~~~~~~~~
>>> arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'
>       unsigned long pfn = page_to_pfn(page);
>                           ^~~~~~~~~~~
>     cc1: some warnings being treated as errors
> --
>     In file included from arch/powerpc/include/asm/page.h:339:0,
>                      from arch/powerpc/include/asm/book3s/64/mmu.h:5,
>                      from arch/powerpc/include/asm/mmu.h:328,
>                      from arch/powerpc/include/asm/lppaca.h:36,
>                      from arch/powerpc/include/asm/paca.h:21,
>                      from arch/powerpc/include/asm/current.h:16,
>                      from include/linux/mutex.h:14,
>                      from include/linux/kernfs.h:13,
>                      from include/linux/sysfs.h:16,
>                      from include/linux/kobject.h:20,
>                      from include/linux/device.h:16,
>                      from drivers/of/irq.c:19:
>     arch/powerpc/include/asm/io.h: In function 'page_to_phys':
>     include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean '__nr_to_section'? [-Werror=implicit-function-declaration]
>       int __sec = page_to_section(__pg);   \
>                   ^
>     include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
>      #define page_to_pfn __page_to_pfn
>                          ^~~~~~~~~~~~~
>>> arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'
>       unsigned long pfn = page_to_pfn(page);
>                           ^~~~~~~~~~~
>     cc1: some warnings being treated as errors
> --
>     In file included from arch/powerpc/include/asm/page.h:339:0,
>                      from arch/powerpc/include/asm/thread_info.h:29,
>                      from include/linux/thread_info.h:38,
>                      from include/asm-generic/preempt.h:5,
>                      from ./arch/powerpc/include/generated/asm/preempt.h:1,
>                      from include/linux/preempt.h:81,
>                      from include/linux/hardirq.h:5,
>                      from arch/powerpc/kernel/mce.c:25:
>     arch/powerpc/include/asm/io.h: In function 'page_to_phys':
>     include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean '__nr_to_section'? [-Werror=implicit-function-declaration]
>       int __sec = page_to_section(__pg);   \
>                   ^
>     include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
>      #define page_to_pfn __page_to_pfn
>                          ^~~~~~~~~~~~~
>>> arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'
>       unsigned long pfn = page_to_pfn(page);
>                           ^~~~~~~~~~~
>     In file included from include/linux/pid_namespace.h:7:0,
>                      from include/linux/ptrace.h:10,
>                      from arch/powerpc/kernel/mce.c:27:
>     include/linux/mm.h: At top level:
>     include/linux/mm.h:1121:29: error: conflicting types for 'page_to_section'
>      static inline unsigned long page_to_section(const struct page *page)
>                                  ^~~~~~~~~~~~~~~
>     In file included from arch/powerpc/include/asm/page.h:339:0,
>                      from arch/powerpc/include/asm/thread_info.h:29,
>                      from include/linux/thread_info.h:38,
>                      from include/asm-generic/preempt.h:5,
>                      from ./arch/powerpc/include/generated/asm/preempt.h:1,
>                      from include/linux/preempt.h:81,
>                      from include/linux/hardirq.h:5,
>                      from arch/powerpc/kernel/mce.c:25:
>     include/asm-generic/memory_model.h:64:14: note: previous implicit declaration of 'page_to_section' was here
>       int __sec = page_to_section(__pg);   \
>                   ^
>     include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
>      #define page_to_pfn __page_to_pfn
>                          ^~~~~~~~~~~~~
>>> arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'
>       unsigned long pfn = page_to_pfn(page);
>                           ^~~~~~~~~~~
>     cc1: all warnings being treated as errors
> --
>     In file included from arch/powerpc/include/asm/page.h:339:0,
>                      from arch/powerpc/include/asm/book3s/64/mmu.h:5,
>                      from arch/powerpc/include/asm/mmu.h:328,
>                      from arch/powerpc/include/asm/lppaca.h:36,
>                      from arch/powerpc/include/asm/paca.h:21,
>                      from arch/powerpc/include/asm/current.h:16,
>                      from include/linux/sched.h:12,
>                      from arch/powerpc/kernel/cputable.c:14:
>     arch/powerpc/include/asm/io.h: In function 'page_to_phys':
>     include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean '__nr_to_section'? [-Werror=implicit-function-declaration]
>       int __sec = page_to_section(__pg);   \
>                   ^
>     include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
>      #define page_to_pfn __page_to_pfn
>                          ^~~~~~~~~~~~~
>>> arch/powerpc/include/asm/io.h:835:22: note: in expansion of macro 'page_to_pfn'
>       unsigned long pfn = page_to_pfn(page);
>                           ^~~~~~~~~~~
>     cc1: all warnings being treated as errors
> 
> vim +/page_to_pfn +835 arch/powerpc/include/asm/io.h
> 
>     829	
>     830	/*
>     831	 * Change "struct page" to physical address.
>     832	 */
>     833	static inline phys_addr_t page_to_phys(struct page *page)
>     834	{
>   > 835		unsigned long pfn = page_to_pfn(page);
>     836	
>     837		WARN_ON(IS_ENABLED(CONFIG_DEBUG_VIRTUAL) && !pfn_valid(pfn));
>     838	
>     839		return PFN_PHYS(pfn);
>     840	}
>     841	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 


More information about the Linuxppc-dev mailing list