All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>
Subject: arch/alpha/include/asm/jensen.h:187:21: warning: no previous prototype for 'jensen_inq'
Date: Mon, 6 Mar 2023 23:23:38 +0800	[thread overview]
Message-ID: <202303062355.WksNaCoK-lkp@intel.com> (raw)

Hi Arnd,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   fe15c26ee26efa11741a7b632e9f23b01aca4cc6
commit: e19d4ebc536dadb607fe305fdaf48218d3e32d7c alpha: add full ioread64/iowrite64 implementation
date:   5 months ago
config: alpha-defconfig (https://download.01.org/0day-ci/archive/20230306/202303062355.WksNaCoK-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.1.0
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e19d4ebc536dadb607fe305fdaf48218d3e32d7c
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e19d4ebc536dadb607fe305fdaf48218d3e32d7c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=alpha SHELL=/bin/bash arch/alpha/kernel/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303062355.WksNaCoK-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from arch/alpha/kernel/sys_jensen.c:12:
   arch/alpha/include/asm/jensen.h:92:22: warning: no previous prototype for 'jensen_set_hae' [-Wmissing-prototypes]
      92 | __EXTERN_INLINE void jensen_set_hae(unsigned long addr)
         |                      ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:115:30: warning: no previous prototype for 'jensen_local_inb' [-Wmissing-prototypes]
     115 | __EXTERN_INLINE unsigned int jensen_local_inb(unsigned long addr)
         |                              ^~~~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:120:22: warning: no previous prototype for 'jensen_local_outb' [-Wmissing-prototypes]
     120 | __EXTERN_INLINE void jensen_local_outb(u8 b, unsigned long addr)
         |                      ^~~~~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:126:30: warning: no previous prototype for 'jensen_bus_inb' [-Wmissing-prototypes]
     126 | __EXTERN_INLINE unsigned int jensen_bus_inb(unsigned long addr)
         |                              ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:135:22: warning: no previous prototype for 'jensen_bus_outb' [-Wmissing-prototypes]
     135 | __EXTERN_INLINE void jensen_bus_outb(u8 b, unsigned long addr)
         |                      ^~~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:155:20: warning: no previous prototype for 'jensen_inb' [-Wmissing-prototypes]
     155 | __EXTERN_INLINE u8 jensen_inb(unsigned long addr)
         |                    ^~~~~~~~~~
   arch/alpha/include/asm/jensen.h:163:22: warning: no previous prototype for 'jensen_outb' [-Wmissing-prototypes]
     163 | __EXTERN_INLINE void jensen_outb(u8 b, unsigned long addr)
         |                      ^~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:171:21: warning: no previous prototype for 'jensen_inw' [-Wmissing-prototypes]
     171 | __EXTERN_INLINE u16 jensen_inw(unsigned long addr)
         |                     ^~~~~~~~~~
   arch/alpha/include/asm/jensen.h:181:21: warning: no previous prototype for 'jensen_inl' [-Wmissing-prototypes]
     181 | __EXTERN_INLINE u32 jensen_inl(unsigned long addr)
         |                     ^~~~~~~~~~
>> arch/alpha/include/asm/jensen.h:187:21: warning: no previous prototype for 'jensen_inq' [-Wmissing-prototypes]
     187 | __EXTERN_INLINE u64 jensen_inq(unsigned long addr)
         |                     ^~~~~~~~~~
   arch/alpha/include/asm/jensen.h:193:22: warning: no previous prototype for 'jensen_outw' [-Wmissing-prototypes]
     193 | __EXTERN_INLINE void jensen_outw(u16 b, unsigned long addr)
         |                      ^~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:200:22: warning: no previous prototype for 'jensen_outl' [-Wmissing-prototypes]
     200 | __EXTERN_INLINE void jensen_outl(u32 b, unsigned long addr)
         |                      ^~~~~~~~~~~
>> arch/alpha/include/asm/jensen.h:207:22: warning: no previous prototype for 'jensen_outq' [-Wmissing-prototypes]
     207 | __EXTERN_INLINE void jensen_outq(u64 b, unsigned long addr)
         |                      ^~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:218:20: warning: no previous prototype for 'jensen_readb' [-Wmissing-prototypes]
     218 | __EXTERN_INLINE u8 jensen_readb(const volatile void __iomem *xaddr)
         |                    ^~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:230:21: warning: no previous prototype for 'jensen_readw' [-Wmissing-prototypes]
     230 | __EXTERN_INLINE u16 jensen_readw(const volatile void __iomem *xaddr)
         |                     ^~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:242:21: warning: no previous prototype for 'jensen_readl' [-Wmissing-prototypes]
     242 | __EXTERN_INLINE u32 jensen_readl(const volatile void __iomem *xaddr)
         |                     ^~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:250:21: warning: no previous prototype for 'jensen_readq' [-Wmissing-prototypes]
     250 | __EXTERN_INLINE u64 jensen_readq(const volatile void __iomem *xaddr)
         |                     ^~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:263:22: warning: no previous prototype for 'jensen_writeb' [-Wmissing-prototypes]
     263 | __EXTERN_INLINE void jensen_writeb(u8 b, volatile void __iomem *xaddr)
         |                      ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:271:22: warning: no previous prototype for 'jensen_writew' [-Wmissing-prototypes]
     271 | __EXTERN_INLINE void jensen_writew(u16 b, volatile void __iomem *xaddr)
         |                      ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:279:22: warning: no previous prototype for 'jensen_writel' [-Wmissing-prototypes]
     279 | __EXTERN_INLINE void jensen_writel(u32 b, volatile void __iomem *xaddr)
         |                      ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:287:22: warning: no previous prototype for 'jensen_writeq' [-Wmissing-prototypes]
     287 | __EXTERN_INLINE void jensen_writeq(u64 b, volatile void __iomem *xaddr)
         |                      ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:297:31: warning: no previous prototype for 'jensen_ioportmap' [-Wmissing-prototypes]
     297 | __EXTERN_INLINE void __iomem *jensen_ioportmap(unsigned long addr)
         |                               ^~~~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:302:31: warning: no previous prototype for 'jensen_ioremap' [-Wmissing-prototypes]
     302 | __EXTERN_INLINE void __iomem *jensen_ioremap(unsigned long addr,
         |                               ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:308:21: warning: no previous prototype for 'jensen_is_ioaddr' [-Wmissing-prototypes]
     308 | __EXTERN_INLINE int jensen_is_ioaddr(unsigned long addr)
         |                     ^~~~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:313:21: warning: no previous prototype for 'jensen_is_mmio' [-Wmissing-prototypes]
     313 | __EXTERN_INLINE int jensen_is_mmio(const volatile void __iomem *addr)
         |                     ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:322:23: warning: no previous prototype for 'jensen_ioread8' [-Wmissing-prototypes]
     322 | __EXTERN_INLINE u##NS jensen_ioread##NS(const void __iomem *xaddr)      \
         |                       ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:337:1: note: in expansion of macro 'IOPORT'
     337 | IOPORT(b, 8)
         | ^~~~~~
   arch/alpha/include/asm/jensen.h:329:22: warning: no previous prototype for 'jensen_iowrite8' [-Wmissing-prototypes]
     329 | __EXTERN_INLINE void jensen_iowrite##NS(u##NS b, void __iomem *xaddr)   \
         |                      ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:337:1: note: in expansion of macro 'IOPORT'
     337 | IOPORT(b, 8)
         | ^~~~~~
   arch/alpha/include/asm/jensen.h:322:23: warning: no previous prototype for 'jensen_ioread16' [-Wmissing-prototypes]
     322 | __EXTERN_INLINE u##NS jensen_ioread##NS(const void __iomem *xaddr)      \
         |                       ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:338:1: note: in expansion of macro 'IOPORT'
     338 | IOPORT(w, 16)
         | ^~~~~~
   arch/alpha/include/asm/jensen.h:329:22: warning: no previous prototype for 'jensen_iowrite16' [-Wmissing-prototypes]
     329 | __EXTERN_INLINE void jensen_iowrite##NS(u##NS b, void __iomem *xaddr)   \
         |                      ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:338:1: note: in expansion of macro 'IOPORT'
     338 | IOPORT(w, 16)
         | ^~~~~~
   arch/alpha/include/asm/jensen.h:322:23: warning: no previous prototype for 'jensen_ioread32' [-Wmissing-prototypes]
     322 | __EXTERN_INLINE u##NS jensen_ioread##NS(const void __iomem *xaddr)      \
         |                       ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:339:1: note: in expansion of macro 'IOPORT'
     339 | IOPORT(l, 32)
         | ^~~~~~
   arch/alpha/include/asm/jensen.h:329:22: warning: no previous prototype for 'jensen_iowrite32' [-Wmissing-prototypes]
     329 | __EXTERN_INLINE void jensen_iowrite##NS(u##NS b, void __iomem *xaddr)   \
         |                      ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:339:1: note: in expansion of macro 'IOPORT'
     339 | IOPORT(l, 32)
         | ^~~~~~
>> arch/alpha/include/asm/jensen.h:322:23: warning: no previous prototype for 'jensen_ioread64' [-Wmissing-prototypes]
     322 | __EXTERN_INLINE u##NS jensen_ioread##NS(const void __iomem *xaddr)      \
         |                       ^~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:340:1: note: in expansion of macro 'IOPORT'
     340 | IOPORT(q, 64)
         | ^~~~~~
>> arch/alpha/include/asm/jensen.h:329:22: warning: no previous prototype for 'jensen_iowrite64' [-Wmissing-prototypes]
     329 | __EXTERN_INLINE void jensen_iowrite##NS(u##NS b, void __iomem *xaddr)   \
         |                      ^~~~~~~~~~~~~~
   arch/alpha/include/asm/jensen.h:340:1: note: in expansion of macro 'IOPORT'
     340 | IOPORT(q, 64)
         | ^~~~~~
   In file included from arch/alpha/kernel/sys_jensen.c:11:
   arch/alpha/include/asm/jensen.h:348:33: warning: no previous prototype for 'jensen_iounmap' [-Wmissing-prototypes]
     348 | #define __IO_PREFIX             jensen
         |                                 ^~~~~~
   arch/alpha/include/asm/io.h:137:25: note: in definition of macro '_IO_CONCAT'
     137 | #define _IO_CONCAT(a,b) a ## _ ## b
         |                         ^
   arch/alpha/include/asm/io_trivial.h:141:22: note: in expansion of macro 'IO_CONCAT'
     141 | __EXTERN_INLINE void IO_CONCAT(__IO_PREFIX,iounmap)(volatile void __iomem *a)
         |                      ^~~~~~~~~
   arch/alpha/include/asm/io_trivial.h:141:32: note: in expansion of macro '__IO_PREFIX'
     141 | __EXTERN_INLINE void IO_CONCAT(__IO_PREFIX,iounmap)(volatile void __iomem *a)
         |                                ^~~~~~~~~~~


vim +/jensen_inq +187 arch/alpha/include/asm/jensen.h

   162	
 > 163	__EXTERN_INLINE void jensen_outb(u8 b, unsigned long addr)
   164	{
   165		if (jensen_is_local(addr))
   166			jensen_local_outb(b, addr);
   167		else
   168			jensen_bus_outb(b, addr);
   169	}
   170	
   171	__EXTERN_INLINE u16 jensen_inw(unsigned long addr)
   172	{
   173		long result;
   174	
   175		jensen_set_hae(0);
   176		result = *(volatile int *) ((addr << 7) + EISA_IO + 0x20);
   177		result >>= (addr & 3) * 8;
   178		return 0xffffUL & result;
   179	}
   180	
   181	__EXTERN_INLINE u32 jensen_inl(unsigned long addr)
   182	{
   183		jensen_set_hae(0);
   184		return *(vuip) ((addr << 7) + EISA_IO + 0x60);
   185	}
   186	
 > 187	__EXTERN_INLINE u64 jensen_inq(unsigned long addr)
   188	{
   189		jensen_set_hae(0);
   190		return *(vulp) ((addr << 7) + EISA_IO + 0x60);
   191	}
   192	
   193	__EXTERN_INLINE void jensen_outw(u16 b, unsigned long addr)
   194	{
   195		jensen_set_hae(0);
   196		*(vuip) ((addr << 7) + EISA_IO + 0x20) = b * 0x00010001;
   197		mb();
   198	}
   199	
   200	__EXTERN_INLINE void jensen_outl(u32 b, unsigned long addr)
   201	{
   202		jensen_set_hae(0);
   203		*(vuip) ((addr << 7) + EISA_IO + 0x60) = b;
   204		mb();
   205	}
   206	
 > 207	__EXTERN_INLINE void jensen_outq(u64 b, unsigned long addr)
   208	{
   209		jensen_set_hae(0);
   210		*(vulp) ((addr << 7) + EISA_IO + 0x60) = b;
   211		mb();
   212	}
   213	
   214	/*
   215	 * Memory functions.
   216	 */
   217	
   218	__EXTERN_INLINE u8 jensen_readb(const volatile void __iomem *xaddr)
   219	{
   220		unsigned long addr = (unsigned long) xaddr;
   221		long result;
   222	
   223		jensen_set_hae(addr);
   224		addr &= JENSEN_HAE_MASK;
   225		result = *(volatile int *) ((addr << 7) + EISA_MEM + 0x00);
   226		result >>= (addr & 3) * 8;
   227		return 0xffUL & result;
   228	}
   229	
   230	__EXTERN_INLINE u16 jensen_readw(const volatile void __iomem *xaddr)
   231	{
   232		unsigned long addr = (unsigned long) xaddr;
   233		long result;
   234	
   235		jensen_set_hae(addr);
   236		addr &= JENSEN_HAE_MASK;
   237		result = *(volatile int *) ((addr << 7) + EISA_MEM + 0x20);
   238		result >>= (addr & 3) * 8;
   239		return 0xffffUL & result;
   240	}
   241	
   242	__EXTERN_INLINE u32 jensen_readl(const volatile void __iomem *xaddr)
   243	{
   244		unsigned long addr = (unsigned long) xaddr;
   245		jensen_set_hae(addr);
   246		addr &= JENSEN_HAE_MASK;
   247		return *(vuip) ((addr << 7) + EISA_MEM + 0x60);
   248	}
   249	
   250	__EXTERN_INLINE u64 jensen_readq(const volatile void __iomem *xaddr)
   251	{
   252		unsigned long addr = (unsigned long) xaddr;
   253		unsigned long r0, r1;
   254	
   255		jensen_set_hae(addr);
   256		addr &= JENSEN_HAE_MASK;
   257		addr = (addr << 7) + EISA_MEM + 0x60;
   258		r0 = *(vuip) (addr);
   259		r1 = *(vuip) (addr + (4 << 7));
   260		return r1 << 32 | r0;
   261	}
   262	
   263	__EXTERN_INLINE void jensen_writeb(u8 b, volatile void __iomem *xaddr)
   264	{
   265		unsigned long addr = (unsigned long) xaddr;
   266		jensen_set_hae(addr);
   267		addr &= JENSEN_HAE_MASK;
   268		*(vuip) ((addr << 7) + EISA_MEM + 0x00) = b * 0x01010101;
   269	}
   270	
   271	__EXTERN_INLINE void jensen_writew(u16 b, volatile void __iomem *xaddr)
   272	{
   273		unsigned long addr = (unsigned long) xaddr;
   274		jensen_set_hae(addr);
   275		addr &= JENSEN_HAE_MASK;
   276		*(vuip) ((addr << 7) + EISA_MEM + 0x20) = b * 0x00010001;
   277	}
   278	
   279	__EXTERN_INLINE void jensen_writel(u32 b, volatile void __iomem *xaddr)
   280	{
   281		unsigned long addr = (unsigned long) xaddr;
   282		jensen_set_hae(addr);
   283		addr &= JENSEN_HAE_MASK;
   284		*(vuip) ((addr << 7) + EISA_MEM + 0x60) = b;
   285	}
   286	
   287	__EXTERN_INLINE void jensen_writeq(u64 b, volatile void __iomem *xaddr)
   288	{
   289		unsigned long addr = (unsigned long) xaddr;
   290		jensen_set_hae(addr);
   291		addr &= JENSEN_HAE_MASK;
   292		addr = (addr << 7) + EISA_MEM + 0x60;
   293		*(vuip) (addr) = b;
   294		*(vuip) (addr + (4 << 7)) = b >> 32;
   295	}
   296	
   297	__EXTERN_INLINE void __iomem *jensen_ioportmap(unsigned long addr)
   298	{
   299		return (void __iomem *)addr;
   300	}
   301	
   302	__EXTERN_INLINE void __iomem *jensen_ioremap(unsigned long addr,
   303						     unsigned long size)
   304	{
   305		return (void __iomem *)(addr + 0x100000000ul);
   306	}
   307	
   308	__EXTERN_INLINE int jensen_is_ioaddr(unsigned long addr)
   309	{
   310		return (long)addr >= 0;
   311	}
   312	
   313	__EXTERN_INLINE int jensen_is_mmio(const volatile void __iomem *addr)
   314	{
   315		return (unsigned long)addr >= 0x100000000ul;
   316	}
   317	
   318	/* New-style ioread interface.  All the routines are so ugly for Jensen
   319	   that it doesn't make sense to merge them.  */
   320	
   321	#define IOPORT(OS, NS)							\
 > 322	__EXTERN_INLINE u##NS jensen_ioread##NS(const void __iomem *xaddr)	\
   323	{									\
   324		if (jensen_is_mmio(xaddr))					\
   325			return jensen_read##OS(xaddr - 0x100000000ul);		\
   326		else								\
   327			return jensen_in##OS((unsigned long)xaddr);		\
   328	}									\
 > 329	__EXTERN_INLINE void jensen_iowrite##NS(u##NS b, void __iomem *xaddr)	\
   330	{									\
   331		if (jensen_is_mmio(xaddr))					\
   332			jensen_write##OS(b, xaddr - 0x100000000ul);		\
   333		else								\
   334			jensen_out##OS(b, (unsigned long)xaddr);		\
   335	}
   336	
   337	IOPORT(b, 8)
   338	IOPORT(w, 16)
 > 339	IOPORT(l, 32)
   340	IOPORT(q, 64)
   341	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

             reply	other threads:[~2023-03-06 15:24 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-06 15:23 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-07-26 15:22 arch/alpha/include/asm/jensen.h:187:21: warning: no previous prototype for 'jensen_inq' kernel test robot
2023-06-07 10:23 kernel test robot
2023-04-25  4:17 kernel test robot
2022-12-07  1:42 kernel test robot
2022-11-23 10:53 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202303062355.WksNaCoK-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=arnd@arndb.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.