mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
@ 2025-06-05 23:02 kernel test robot
  2025-06-06  7:46 ` Arnd Bergmann
  0 siblings, 1 reply; 3+ messages in thread
From: kernel test robot @ 2025-06-05 23:02 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: oe-kbuild-all, linux-kernel, Johannes Berg

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   e271ed52b344ac02d4581286961d0c40acc54c03
commit: b8c9c3b822fe8e033b9802516f6466099d915488 um: stop using PCI port I/O
date:   4 days ago
config: um-randconfig-001-20250606 (https://download.01.org/0day-ci/archive/20250606/202506060742.XR3HcxWA-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250606/202506060742.XR3HcxWA-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506060742.XR3HcxWA-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/char/sonypi.c: In function 'sonypi_call1':
   drivers/char/sonypi.c:638:12: warning: variable 'v1' set but not used [-Wunused-but-set-variable]
     638 |         u8 v1, v2;
         |            ^~
   In file included from arch/um/include/asm/io.h:24,
                    from include/linux/io.h:12,
                    from include/linux/irq.h:20,
                    from include/asm-generic/hardirq.h:17,
                    from arch/um/include/asm/hardirq.h:5,
                    from include/linux/hardirq.h:11,
                    from include/linux/interrupt.h:11,
                    from include/linux/pci.h:38,
                    from drivers/char/sonypi.c:27:
   In function 'inb_p',
       inlined from 'sonypi_irq' at drivers/char/sonypi.c:830:7:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_irq' at drivers/char/sonypi.c:831:7:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_call1.isra' at drivers/char/sonypi.c:640:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   drivers/char/sonypi.c: In function 'sonypi_call1.isra':
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   drivers/char/sonypi.c:641:9: note: in expansion of macro 'outb'
     641 |         outb(dev, sonypi_device.ioport2);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_call1.isra' at drivers/char/sonypi.c:642:7:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_call1.isra' at drivers/char/sonypi.c:643:7:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_call2' at drivers/char/sonypi.c:651:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   drivers/char/sonypi.c: In function 'sonypi_call2':
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   drivers/char/sonypi.c:652:9: note: in expansion of macro 'outb'
     652 |         outb(dev, sonypi_device.ioport2);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_call2' at drivers/char/sonypi.c:653:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   drivers/char/sonypi.c: In function 'sonypi_call2':
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   drivers/char/sonypi.c:654:9: note: in expansion of macro 'outb'
     654 |         outb(fn, sonypi_device.ioport1);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_call2' at drivers/char/sonypi.c:655:7:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_ec_read' at drivers/char/sonypi.c:533:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'outb_p',
       inlined from 'sonypi_ec_read' at drivers/char/sonypi.c:534:2:
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
         |               ^
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   include/asm-generic/io.h:694:9: note: in expansion of macro 'outb'
     694 |         outb(value, addr);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_ec_read' at drivers/char/sonypi.c:535:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'outb_p',
       inlined from 'sonypi_ec_read' at drivers/char/sonypi.c:536:2:
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
         |               ^
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   include/asm-generic/io.h:694:9: note: in expansion of macro 'outb'
     694 |         outb(value, addr);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_ec_read' at drivers/char/sonypi.c:537:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_ec_read' at drivers/char/sonypi.c:538:11:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:517:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'outb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:518:2:
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
         |               ^
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   include/asm-generic/io.h:694:9: note: in expansion of macro 'outb'
     694 |         outb(value, addr);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:519:2:
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'outb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:520:2:
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
         |               ^
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   include/asm-generic/io.h:694:9: note: in expansion of macro 'outb'
     694 |         outb(value, addr);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:521:2:
   include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'outb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:522:2:
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
         |               ^
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   include/asm-generic/io.h:694:9: note: in expansion of macro 'outb'
     694 |         outb(value, addr);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_ec_write' at drivers/char/sonypi.c:523:2:
   include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'inb_p',
       inlined from 'sonypi_call3' at drivers/char/sonypi.c:663:2,
       inlined from 'sonypi_set' at drivers/char/sonypi.c:693:2:
   include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'sonypi_call3',
       inlined from 'sonypi_set' at drivers/char/sonypi.c:693:2:
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   drivers/char/sonypi.c:664:9: note: in expansion of macro 'outb'
     664 |         outb(dev, sonypi_device.ioport2);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_call3' at drivers/char/sonypi.c:665:2,
       inlined from 'sonypi_set' at drivers/char/sonypi.c:693:2:
   include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
     542 | #define _inb _inb
         |              ^
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
     643 | #define inb _inb
         |             ^~~~
   include/asm-generic/io.h:670:16: note: in expansion of macro 'inb'
     670 |         return inb(addr);
         |                ^~~
   In function 'sonypi_call3',
       inlined from 'sonypi_set' at drivers/char/sonypi.c:693:2:
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
     596 | #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
     655 | #define outb _outb
         |              ^~~~~
   drivers/char/sonypi.c:666:9: note: in expansion of macro 'outb'
     666 |         outb(fn, sonypi_device.ioport1);
         |         ^~~~
   In function 'inb_p',
       inlined from 'sonypi_call3' at drivers/char/sonypi.c:667:2,
       inlined from 'sonypi_set' at drivers/char/sonypi.c:693:2:
   include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
..


vim +/_inb +542 include/asm-generic/io.h

3f7e212df82ca0 Arnd Bergmann   2009-05-13  534  
9216efafc52ff9 Thierry Reding  2014-10-01  535  /*
9216efafc52ff9 Thierry Reding  2014-10-01  536   * {in,out}{b,w,l}() access little endian I/O. {in,out}{b,w,l}_p() can be
9216efafc52ff9 Thierry Reding  2014-10-01  537   * implemented on hardware that needs an additional delay for I/O accesses to
9216efafc52ff9 Thierry Reding  2014-10-01  538   * take effect.
9216efafc52ff9 Thierry Reding  2014-10-01  539   */
9216efafc52ff9 Thierry Reding  2014-10-01  540  
f009c89df79abe John Garry      2020-03-28  541  #if !defined(inb) && !defined(_inb)
f009c89df79abe John Garry      2020-03-28 @542  #define _inb _inb
6f043e75744596 Niklas Schnelle 2024-10-24  543  #ifdef CONFIG_HAS_IOPORT
214ba3584b2e2c Stafford Horne  2020-07-26  544  static inline u8 _inb(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  545  {
87fe2d543f8173 Sinan Kaya      2018-04-05  546  	u8 val;
87fe2d543f8173 Sinan Kaya      2018-04-05  547  
87fe2d543f8173 Sinan Kaya      2018-04-05  548  	__io_pbr();
87fe2d543f8173 Sinan Kaya      2018-04-05  549  	val = __raw_readb(PCI_IOBASE + addr);
abbbbc83a210e9 Will Deacon     2019-02-22  550  	__io_par(val);
87fe2d543f8173 Sinan Kaya      2018-04-05  551  	return val;
9216efafc52ff9 Thierry Reding  2014-10-01  552  }
6f043e75744596 Niklas Schnelle 2024-10-24  553  #else
6f043e75744596 Niklas Schnelle 2024-10-24  554  u8 _inb(unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  555  	__compiletime_error("inb()) requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  556  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  557  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  558  
f009c89df79abe John Garry      2020-03-28  559  #if !defined(inw) && !defined(_inw)
f009c89df79abe John Garry      2020-03-28  560  #define _inw _inw
6f043e75744596 Niklas Schnelle 2024-10-24  561  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  562  static inline u16 _inw(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  563  {
87fe2d543f8173 Sinan Kaya      2018-04-05  564  	u16 val;
87fe2d543f8173 Sinan Kaya      2018-04-05  565  
87fe2d543f8173 Sinan Kaya      2018-04-05  566  	__io_pbr();
c1d55d50139bea Stafford Horne  2020-07-29  567  	val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
abbbbc83a210e9 Will Deacon     2019-02-22  568  	__io_par(val);
87fe2d543f8173 Sinan Kaya      2018-04-05  569  	return val;
9216efafc52ff9 Thierry Reding  2014-10-01  570  }
6f043e75744596 Niklas Schnelle 2024-10-24  571  #else
6f043e75744596 Niklas Schnelle 2024-10-24  572  u16 _inw(unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  573  	__compiletime_error("inw() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  574  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  575  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  576  
f009c89df79abe John Garry      2020-03-28  577  #if !defined(inl) && !defined(_inl)
f009c89df79abe John Garry      2020-03-28 @578  #define _inl _inl
6f043e75744596 Niklas Schnelle 2024-10-24  579  #ifdef CONFIG_HAS_IOPORT
214ba3584b2e2c Stafford Horne  2020-07-26  580  static inline u32 _inl(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  581  {
87fe2d543f8173 Sinan Kaya      2018-04-05  582  	u32 val;
87fe2d543f8173 Sinan Kaya      2018-04-05  583  
87fe2d543f8173 Sinan Kaya      2018-04-05  584  	__io_pbr();
c1d55d50139bea Stafford Horne  2020-07-29  585  	val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
abbbbc83a210e9 Will Deacon     2019-02-22  586  	__io_par(val);
87fe2d543f8173 Sinan Kaya      2018-04-05  587  	return val;
9216efafc52ff9 Thierry Reding  2014-10-01  588  }
6f043e75744596 Niklas Schnelle 2024-10-24  589  #else
6f043e75744596 Niklas Schnelle 2024-10-24  590  u32 _inl(unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  591  	__compiletime_error("inl() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  592  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  593  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  594  
f009c89df79abe John Garry      2020-03-28  595  #if !defined(outb) && !defined(_outb)
f009c89df79abe John Garry      2020-03-28 @596  #define _outb _outb
6f043e75744596 Niklas Schnelle 2024-10-24  597  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  598  static inline void _outb(u8 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  599  {
a7851aa54c0cdd Sinan Kaya      2018-04-05  600  	__io_pbw();
a7851aa54c0cdd Sinan Kaya      2018-04-05  601  	__raw_writeb(value, PCI_IOBASE + addr);
a7851aa54c0cdd Sinan Kaya      2018-04-05  602  	__io_paw();
9216efafc52ff9 Thierry Reding  2014-10-01  603  }
6f043e75744596 Niklas Schnelle 2024-10-24  604  #else
6f043e75744596 Niklas Schnelle 2024-10-24  605  void _outb(u8 value, unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  606  	__compiletime_error("outb() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  607  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  608  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  609  
f009c89df79abe John Garry      2020-03-28  610  #if !defined(outw) && !defined(_outw)
f009c89df79abe John Garry      2020-03-28  611  #define _outw _outw
6f043e75744596 Niklas Schnelle 2024-10-24  612  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  613  static inline void _outw(u16 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  614  {
a7851aa54c0cdd Sinan Kaya      2018-04-05  615  	__io_pbw();
c1d55d50139bea Stafford Horne  2020-07-29  616  	__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
a7851aa54c0cdd Sinan Kaya      2018-04-05  617  	__io_paw();
9216efafc52ff9 Thierry Reding  2014-10-01  618  }
6f043e75744596 Niklas Schnelle 2024-10-24  619  #else
6f043e75744596 Niklas Schnelle 2024-10-24  620  void _outw(u16 value, unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  621  	__compiletime_error("outw() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  622  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  623  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  624  
f009c89df79abe John Garry      2020-03-28  625  #if !defined(outl) && !defined(_outl)
f009c89df79abe John Garry      2020-03-28 @626  #define _outl _outl
6f043e75744596 Niklas Schnelle 2024-10-24  627  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  628  static inline void _outl(u32 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  629  {
a7851aa54c0cdd Sinan Kaya      2018-04-05  630  	__io_pbw();
c1d55d50139bea Stafford Horne  2020-07-29  631  	__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
a7851aa54c0cdd Sinan Kaya      2018-04-05  632  	__io_paw();
9216efafc52ff9 Thierry Reding  2014-10-01  633  }
6f043e75744596 Niklas Schnelle 2024-10-24  634  #else
6f043e75744596 Niklas Schnelle 2024-10-24  635  void _outl(u32 value, unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  636  	__compiletime_error("outl() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  637  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  638  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  639  

:::::: The code at line 542 was first introduced by commit
:::::: f009c89df79abea5f5244b8135a205f7d4352f86 io: Provide _inX() and _outX()

:::::: TO: John Garry <john.garry@huawei.com>
:::::: CC: Wei Xu <xuwei5@hisilicon.com>

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
  2025-06-05 23:02 include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT kernel test robot
@ 2025-06-06  7:46 ` Arnd Bergmann
  0 siblings, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2025-06-06  7:46 UTC (permalink / raw)
  To: kernel test robot; +Cc: oe-kbuild-all, linux-kernel, Johannes Berg

On Fri, Jun 6, 2025, at 01:02, kernel test robot wrote:

> commit: b8c9c3b822fe8e033b9802516f6466099d915488 um: stop using PCI 
> port I/O

>    In function 'inb_p',
>        inlined from 'sonypi_irq' at drivers/char/sonypi.c:831:7:
>>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT

It appears that there are some drivers that are only built when
targetting i386 but that now fail to build for UM. I'll send
these three fixups, which should be enough to fix a
'make ARCH=um SUBARCH=i386 allmodconfig' build.

      Arnd

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index f2a68a0a8c93..a20b353ffddf 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -238,6 +238,7 @@ config APPLICOM
 config SONYPI
 	tristate "Sony Vaio Programmable I/O Control Device support"
 	depends on X86_32 && PCI && INPUT
+	depends on HAS_IOPORT
 	depends on ACPI_EC || !ACPI
 	help
 	  This driver enables access to the Sony Programmable I/O Control
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index bec3bffca808..464ed9bf9114 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -1531,6 +1531,7 @@ config I2C_XGENE_SLIMPRO
 config SCx200_ACB
 	tristate "Geode ACCESS.bus support"
 	depends on X86_32 && PCI
+	depends on HAS_IOPORT
 	help
 	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
 	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
diff --git a/drivers/video/fbdev/nvidia/nv_local.h b/drivers/video/fbdev/nvidia/nv_local.h
index 68e508daa417..93aff35305a9 100644
--- a/drivers/video/fbdev/nvidia/nv_local.h
+++ b/drivers/video/fbdev/nvidia/nv_local.h
@@ -80,7 +80,7 @@
      (par)->dmaFree -= ((size) + 1);          \
 }
 
-#if defined(__i386__)
+#if defined(__i386__) && !defined(CONFIG_UML)
 #define _NV_FENCE() outb(0, 0x3D0);
 #else
 #define _NV_FENCE() mb();
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index e00536b49552..329aa9016553 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -650,6 +650,7 @@ config PATA_CS5535
 config PATA_CS5536
 	tristate "CS5536 PATA support"
 	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
+	depends on HAS_IOPORT
 	help
 	  This option enables support for the AMD CS5536
 	  companion chip used with the Geode LX processor family.
diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c
index b811efd2cc34..4a9fb4249caf 100644
--- a/drivers/ata/pata_cs5536.c
+++ b/drivers/ata/pata_cs5536.c
@@ -27,7 +27,7 @@
 #include <scsi/scsi_host.h>
 #include <linux/dmi.h>
 
-#ifdef CONFIG_X86_32
+#if defined(CONFIG_X86_32) && !defined(CONFIG_UML)
 #include <asm/msr.h>
 static int use_msr;
 module_param_named(msr, use_msr, int, 0644);

^ permalink raw reply	[flat|nested] 3+ messages in thread

* include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
@ 2025-11-10 23:00 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2025-11-10 23:00 UTC (permalink / raw)
  To: Niklas Schnelle
  Cc: oe-kbuild-all, linux-kernel, Arnd Bergmann, Takashi Iwai,
	Ville Syrjälä,
	Jarkko Sakkinen

Hi Niklas,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4ea7c1717f3f2344f7a1cdab4f5875cfa89c87a9
commit: 6f043e75744596968b6547c4bd43e4d30bbb6d6e asm-generic/io.h: Remove I/O port accessors for HAS_IOPORT=n
date:   1 year ago
config: m68k-randconfig-r054-20251111 (https://download.01.org/0day-ci/archive/20251111/202511110659.0E0b38nM-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251111/202511110659.0E0b38nM-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511110659.0E0b38nM-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/m68k/include/asm/io.h:14,
                    from arch/m68k/include/asm/pgtable_no.h:14,
                    from arch/m68k/include/asm/pgtable.h:8,
                    from include/linux/pgtable.h:6,
                    from include/linux/mm.h:30,
                    from arch/m68k/include/asm/cacheflush_no.h:8,
                    from arch/m68k/include/asm/cacheflush.h:3,
                    from include/linux/cacheflush.h:5,
                    from include/linux/highmem.h:8,
                    from include/linux/bvec.h:10,
                    from include/linux/skbuff.h:17,
                    from include/net/net_namespace.h:43,
                    from include/linux/netdevice.h:38,
                    from drivers/net/ethernet/8390/mcf8390.c:15:
   drivers/net/ethernet/8390/lib8390.c: In function '__ei_get_stats':
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:140:18: note: in expansion of macro 'ei_inb'
    #define ei_inb_p ei_inb
                     ^~~~~~
   drivers/net/ethernet/8390/lib8390.c:868:33: note: in expansion of macro 'ei_inb_p'
     dev->stats.rx_frame_errors  += ei_inb_p(ioaddr + EN0_COUNTER0);
                                    ^~~~~~~~
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:140:18: note: in expansion of macro 'ei_inb'
    #define ei_inb_p ei_inb
                     ^~~~~~
   drivers/net/ethernet/8390/lib8390.c:869:33: note: in expansion of macro 'ei_inb_p'
     dev->stats.rx_crc_errors    += ei_inb_p(ioaddr + EN0_COUNTER1);
                                    ^~~~~~~~
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:140:18: note: in expansion of macro 'ei_inb'
    #define ei_inb_p ei_inb
                     ^~~~~~
   drivers/net/ethernet/8390/lib8390.c:870:33: note: in expansion of macro 'ei_inb_p'
     dev->stats.rx_missed_errors += ei_inb_p(ioaddr + EN0_COUNTER2);
                                    ^~~~~~~~
   drivers/net/ethernet/8390/lib8390.c: In function 'NS8390_trigger_send':
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:1081:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(E8390_NODMA+E8390_PAGE0, e8390_base+E8390_CMD);
     ^~~~~~~~~
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:140:18: note: in expansion of macro 'ei_inb'
    #define ei_inb_p ei_inb
                     ^~~~~~
   drivers/net/ethernet/8390/lib8390.c:1083:6: note: in expansion of macro 'ei_inb_p'
     if (ei_inb_p(e8390_base + E8390_CMD) & E8390_TRANS) {
         ^~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:1087:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(length & 0xff, e8390_base + EN0_TCNTLO);
     ^~~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:1088:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(length >> 8, e8390_base + EN0_TCNTHI);
     ^~~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:1089:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(start_page, e8390_base + EN0_TPSR);
     ^~~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:1090:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(E8390_NODMA+E8390_TRANS+E8390_START, e8390_base+E8390_CMD);
     ^~~~~~~~~
   drivers/net/ethernet/8390/mcf8390.c: In function 'mcf8390_reset_8390':
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:157:10: note: in expansion of macro 'ei_inb'
     ei_outb(ei_inb(addr + NE_RESET), addr + NE_RESET);
             ^~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:157:2: note: in expansion of macro 'ei_outb'
     ei_outb(ei_inb(addr + NE_RESET), addr + NE_RESET);
     ^~~~~~~
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:163:10: note: in expansion of macro 'ei_inb'
     while ((ei_inb(addr + NE_EN0_ISR) & ENISR_RESET) == 0) {
             ^~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:170:2: note: in expansion of macro 'ei_outb'
     ei_outb(ENISR_RESET, addr + NE_EN0_ISR);
     ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c: In function '__ei_start_xmit':
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:325:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(0x00, e8390_base + EN0_IMR);
     ^~~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:369:3: note: in expansion of macro 'ei_outb_p'
      ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
      ^~~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:404:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(ENISR_ALL, e8390_base + EN0_IMR);
     ^~~~~~~~~
   drivers/net/ethernet/8390/lib8390.c: In function 'ei_receive':
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:673:3: note: in expansion of macro 'ei_outb_p'
      ei_outb_p(E8390_NODMA+E8390_PAGE1, e8390_base + E8390_CMD);
      ^~~~~~~~~
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:140:18: note: in expansion of macro 'ei_inb'
    #define ei_inb_p ei_inb
                     ^~~~~~
   drivers/net/ethernet/8390/lib8390.c:674:16: note: in expansion of macro 'ei_inb_p'
      rxing_page = ei_inb_p(e8390_base + EN1_CURPAG);
                   ^~~~~~~~
>> include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:675:3: note: in expansion of macro 'ei_outb_p'
      ei_outb_p(E8390_NODMA+E8390_PAGE0, e8390_base + E8390_CMD);
      ^~~~~~~~~
>> include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT
    #define _inb _inb
   include/asm-generic/io.h:643:13: note: in expansion of macro '_inb'
    #define inb _inb
                ^~~~
   drivers/net/ethernet/8390/mcf8390.c:131:17: note: in expansion of macro 'inb'
    #define ei_inb  inb
                    ^~~
   drivers/net/ethernet/8390/mcf8390.c:140:18: note: in expansion of macro 'ei_inb'
    #define ei_inb_p ei_inb
                     ^~~~~~
   drivers/net/ethernet/8390/lib8390.c:678:16: note: in expansion of macro 'ei_inb_p'
      this_frame = ei_inb_p(e8390_base + EN0_BOUNDARY) + 1;
                   ^~~~~~~~
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/lib8390.c:714:4: note: in expansion of macro 'ei_outb'
       ei_outb(ei_local->current_page-1, e8390_base+EN0_BOUNDARY);
       ^~~~~~~
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:767:3: note: in expansion of macro 'ei_outb_p'
      ei_outb_p(next_frame-1, e8390_base+EN0_BOUNDARY);
      ^~~~~~~~~
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:772:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(ENISR_RX+ENISR_RX_ERR, e8390_base+EN0_ISR);
     ^~~~~~~~~
   drivers/net/ethernet/8390/lib8390.c: In function 'do_set_multicast_list':
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:930:3: note: in expansion of macro 'ei_outb_p'
      ei_outb_p(E8390_RXCONFIG, e8390_base + EN0_RXCR);
      ^~~~~~~~~
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:931:2: note: in expansion of macro 'ei_outb_p'
     ei_outb_p(E8390_NODMA + E8390_PAGE1, e8390_base + E8390_CMD);
     ^~~~~~~~~
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~
   drivers/net/ethernet/8390/mcf8390.c:132:18: note: in expansion of macro 'outb'
    #define ei_outb  outb
                     ^~~~
   drivers/net/ethernet/8390/mcf8390.c:141:19: note: in expansion of macro 'ei_outb'
    #define ei_outb_p ei_outb
                      ^~~~~~~
   drivers/net/ethernet/8390/lib8390.c:933:3: note: in expansion of macro 'ei_outb_p'
      ei_outb_p(ei_local->mcfilter[i], e8390_base + EN1_MULT_SHIFT(i));
      ^~~~~~~~~
   include/asm-generic/io.h:596:15: error: call to '_outb' declared with attribute error: outb() requires CONFIG_HAS_IOPORT
    #define _outb _outb
   include/asm-generic/io.h:655:14: note: in expansion of macro '_outb'
    #define outb _outb
                 ^~~~~


vim +/_inb +542 include/asm-generic/io.h

3f7e212df82ca0 Arnd Bergmann   2009-05-13  534  
9216efafc52ff9 Thierry Reding  2014-10-01  535  /*
9216efafc52ff9 Thierry Reding  2014-10-01  536   * {in,out}{b,w,l}() access little endian I/O. {in,out}{b,w,l}_p() can be
9216efafc52ff9 Thierry Reding  2014-10-01  537   * implemented on hardware that needs an additional delay for I/O accesses to
9216efafc52ff9 Thierry Reding  2014-10-01  538   * take effect.
9216efafc52ff9 Thierry Reding  2014-10-01  539   */
9216efafc52ff9 Thierry Reding  2014-10-01  540  
f009c89df79abe John Garry      2020-03-28  541  #if !defined(inb) && !defined(_inb)
f009c89df79abe John Garry      2020-03-28 @542  #define _inb _inb
6f043e75744596 Niklas Schnelle 2024-10-24  543  #ifdef CONFIG_HAS_IOPORT
214ba3584b2e2c Stafford Horne  2020-07-26  544  static inline u8 _inb(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  545  {
87fe2d543f8173 Sinan Kaya      2018-04-05  546  	u8 val;
87fe2d543f8173 Sinan Kaya      2018-04-05  547  
87fe2d543f8173 Sinan Kaya      2018-04-05  548  	__io_pbr();
87fe2d543f8173 Sinan Kaya      2018-04-05  549  	val = __raw_readb(PCI_IOBASE + addr);
abbbbc83a210e9 Will Deacon     2019-02-22  550  	__io_par(val);
87fe2d543f8173 Sinan Kaya      2018-04-05  551  	return val;
9216efafc52ff9 Thierry Reding  2014-10-01  552  }
6f043e75744596 Niklas Schnelle 2024-10-24  553  #else
6f043e75744596 Niklas Schnelle 2024-10-24  554  u8 _inb(unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  555  	__compiletime_error("inb()) requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  556  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  557  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  558  
f009c89df79abe John Garry      2020-03-28  559  #if !defined(inw) && !defined(_inw)
f009c89df79abe John Garry      2020-03-28  560  #define _inw _inw
6f043e75744596 Niklas Schnelle 2024-10-24  561  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  562  static inline u16 _inw(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  563  {
87fe2d543f8173 Sinan Kaya      2018-04-05  564  	u16 val;
87fe2d543f8173 Sinan Kaya      2018-04-05  565  
87fe2d543f8173 Sinan Kaya      2018-04-05  566  	__io_pbr();
c1d55d50139bea Stafford Horne  2020-07-29  567  	val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
abbbbc83a210e9 Will Deacon     2019-02-22  568  	__io_par(val);
87fe2d543f8173 Sinan Kaya      2018-04-05  569  	return val;
9216efafc52ff9 Thierry Reding  2014-10-01  570  }
6f043e75744596 Niklas Schnelle 2024-10-24  571  #else
6f043e75744596 Niklas Schnelle 2024-10-24  572  u16 _inw(unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  573  	__compiletime_error("inw() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  574  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  575  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  576  
f009c89df79abe John Garry      2020-03-28  577  #if !defined(inl) && !defined(_inl)
f009c89df79abe John Garry      2020-03-28  578  #define _inl _inl
6f043e75744596 Niklas Schnelle 2024-10-24  579  #ifdef CONFIG_HAS_IOPORT
214ba3584b2e2c Stafford Horne  2020-07-26  580  static inline u32 _inl(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  581  {
87fe2d543f8173 Sinan Kaya      2018-04-05  582  	u32 val;
87fe2d543f8173 Sinan Kaya      2018-04-05  583  
87fe2d543f8173 Sinan Kaya      2018-04-05  584  	__io_pbr();
c1d55d50139bea Stafford Horne  2020-07-29  585  	val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
abbbbc83a210e9 Will Deacon     2019-02-22  586  	__io_par(val);
87fe2d543f8173 Sinan Kaya      2018-04-05  587  	return val;
9216efafc52ff9 Thierry Reding  2014-10-01  588  }
6f043e75744596 Niklas Schnelle 2024-10-24  589  #else
6f043e75744596 Niklas Schnelle 2024-10-24  590  u32 _inl(unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  591  	__compiletime_error("inl() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  592  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  593  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  594  
f009c89df79abe John Garry      2020-03-28  595  #if !defined(outb) && !defined(_outb)
f009c89df79abe John Garry      2020-03-28 @596  #define _outb _outb
6f043e75744596 Niklas Schnelle 2024-10-24  597  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  598  static inline void _outb(u8 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  599  {
a7851aa54c0cdd Sinan Kaya      2018-04-05  600  	__io_pbw();
a7851aa54c0cdd Sinan Kaya      2018-04-05  601  	__raw_writeb(value, PCI_IOBASE + addr);
a7851aa54c0cdd Sinan Kaya      2018-04-05  602  	__io_paw();
9216efafc52ff9 Thierry Reding  2014-10-01  603  }
6f043e75744596 Niklas Schnelle 2024-10-24  604  #else
6f043e75744596 Niklas Schnelle 2024-10-24  605  void _outb(u8 value, unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  606  	__compiletime_error("outb() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  607  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  608  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  609  
f009c89df79abe John Garry      2020-03-28  610  #if !defined(outw) && !defined(_outw)
f009c89df79abe John Garry      2020-03-28  611  #define _outw _outw
6f043e75744596 Niklas Schnelle 2024-10-24  612  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  613  static inline void _outw(u16 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  614  {
a7851aa54c0cdd Sinan Kaya      2018-04-05  615  	__io_pbw();
c1d55d50139bea Stafford Horne  2020-07-29  616  	__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
a7851aa54c0cdd Sinan Kaya      2018-04-05  617  	__io_paw();
9216efafc52ff9 Thierry Reding  2014-10-01  618  }
6f043e75744596 Niklas Schnelle 2024-10-24  619  #else
6f043e75744596 Niklas Schnelle 2024-10-24  620  void _outw(u16 value, unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  621  	__compiletime_error("outw() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  622  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  623  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  624  
f009c89df79abe John Garry      2020-03-28  625  #if !defined(outl) && !defined(_outl)
f009c89df79abe John Garry      2020-03-28  626  #define _outl _outl
6f043e75744596 Niklas Schnelle 2024-10-24  627  #ifdef CONFIG_HAS_IOPORT
f009c89df79abe John Garry      2020-03-28  628  static inline void _outl(u32 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  629  {
a7851aa54c0cdd Sinan Kaya      2018-04-05  630  	__io_pbw();
c1d55d50139bea Stafford Horne  2020-07-29  631  	__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
a7851aa54c0cdd Sinan Kaya      2018-04-05  632  	__io_paw();
9216efafc52ff9 Thierry Reding  2014-10-01  633  }
6f043e75744596 Niklas Schnelle 2024-10-24  634  #else
6f043e75744596 Niklas Schnelle 2024-10-24  635  void _outl(u32 value, unsigned long addr)
6f043e75744596 Niklas Schnelle 2024-10-24  636  	__compiletime_error("outl() requires CONFIG_HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  637  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  638  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  639  
f009c89df79abe John Garry      2020-03-28  640  #include <linux/logic_pio.h>
f009c89df79abe John Garry      2020-03-28  641  
f009c89df79abe John Garry      2020-03-28  642  #ifndef inb
f009c89df79abe John Garry      2020-03-28  643  #define inb _inb
f009c89df79abe John Garry      2020-03-28  644  #endif
f009c89df79abe John Garry      2020-03-28  645  
f009c89df79abe John Garry      2020-03-28  646  #ifndef inw
f009c89df79abe John Garry      2020-03-28  647  #define inw _inw
f009c89df79abe John Garry      2020-03-28  648  #endif
f009c89df79abe John Garry      2020-03-28  649  
f009c89df79abe John Garry      2020-03-28  650  #ifndef inl
f009c89df79abe John Garry      2020-03-28  651  #define inl _inl
f009c89df79abe John Garry      2020-03-28  652  #endif
f009c89df79abe John Garry      2020-03-28  653  
f009c89df79abe John Garry      2020-03-28  654  #ifndef outb
f009c89df79abe John Garry      2020-03-28  655  #define outb _outb
f009c89df79abe John Garry      2020-03-28  656  #endif
f009c89df79abe John Garry      2020-03-28  657  
f009c89df79abe John Garry      2020-03-28  658  #ifndef outw
f009c89df79abe John Garry      2020-03-28  659  #define outw _outw
f009c89df79abe John Garry      2020-03-28  660  #endif
f009c89df79abe John Garry      2020-03-28  661  
f009c89df79abe John Garry      2020-03-28  662  #ifndef outl
f009c89df79abe John Garry      2020-03-28  663  #define outl _outl
f009c89df79abe John Garry      2020-03-28  664  #endif
f009c89df79abe John Garry      2020-03-28  665  
9216efafc52ff9 Thierry Reding  2014-10-01  666  #ifndef inb_p
9216efafc52ff9 Thierry Reding  2014-10-01  667  #define inb_p inb_p
9216efafc52ff9 Thierry Reding  2014-10-01  668  static inline u8 inb_p(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  669  {
9216efafc52ff9 Thierry Reding  2014-10-01  670  	return inb(addr);
9216efafc52ff9 Thierry Reding  2014-10-01  671  }
9216efafc52ff9 Thierry Reding  2014-10-01  672  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  673  
9216efafc52ff9 Thierry Reding  2014-10-01  674  #ifndef inw_p
9216efafc52ff9 Thierry Reding  2014-10-01  675  #define inw_p inw_p
9216efafc52ff9 Thierry Reding  2014-10-01  676  static inline u16 inw_p(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  677  {
9216efafc52ff9 Thierry Reding  2014-10-01  678  	return inw(addr);
9216efafc52ff9 Thierry Reding  2014-10-01  679  }
9216efafc52ff9 Thierry Reding  2014-10-01  680  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  681  
9216efafc52ff9 Thierry Reding  2014-10-01  682  #ifndef inl_p
9216efafc52ff9 Thierry Reding  2014-10-01  683  #define inl_p inl_p
9216efafc52ff9 Thierry Reding  2014-10-01  684  static inline u32 inl_p(unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  685  {
9216efafc52ff9 Thierry Reding  2014-10-01  686  	return inl(addr);
9216efafc52ff9 Thierry Reding  2014-10-01  687  }
9216efafc52ff9 Thierry Reding  2014-10-01  688  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  689  
9216efafc52ff9 Thierry Reding  2014-10-01  690  #ifndef outb_p
9216efafc52ff9 Thierry Reding  2014-10-01  691  #define outb_p outb_p
9216efafc52ff9 Thierry Reding  2014-10-01  692  static inline void outb_p(u8 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  693  {
9216efafc52ff9 Thierry Reding  2014-10-01  694  	outb(value, addr);
9216efafc52ff9 Thierry Reding  2014-10-01  695  }
9216efafc52ff9 Thierry Reding  2014-10-01  696  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  697  
9216efafc52ff9 Thierry Reding  2014-10-01  698  #ifndef outw_p
9216efafc52ff9 Thierry Reding  2014-10-01  699  #define outw_p outw_p
9216efafc52ff9 Thierry Reding  2014-10-01  700  static inline void outw_p(u16 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  701  {
9216efafc52ff9 Thierry Reding  2014-10-01  702  	outw(value, addr);
9216efafc52ff9 Thierry Reding  2014-10-01  703  }
9216efafc52ff9 Thierry Reding  2014-10-01  704  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  705  
9216efafc52ff9 Thierry Reding  2014-10-01  706  #ifndef outl_p
9216efafc52ff9 Thierry Reding  2014-10-01  707  #define outl_p outl_p
9216efafc52ff9 Thierry Reding  2014-10-01  708  static inline void outl_p(u32 value, unsigned long addr)
9216efafc52ff9 Thierry Reding  2014-10-01  709  {
9216efafc52ff9 Thierry Reding  2014-10-01  710  	outl(value, addr);
9216efafc52ff9 Thierry Reding  2014-10-01  711  }
9216efafc52ff9 Thierry Reding  2014-10-01  712  #endif
9216efafc52ff9 Thierry Reding  2014-10-01  713  
9ab3a7a0d2b417 Thierry Reding  2014-07-04  714  /*
9ab3a7a0d2b417 Thierry Reding  2014-07-04  715   * {in,out}s{b,w,l}{,_p}() are variants of the above that repeatedly access a
9ab3a7a0d2b417 Thierry Reding  2014-07-04  716   * single I/O port multiple times.
9ab3a7a0d2b417 Thierry Reding  2014-07-04  717   */
9ab3a7a0d2b417 Thierry Reding  2014-07-04  718  
9ab3a7a0d2b417 Thierry Reding  2014-07-04  719  #ifndef insb
9ab3a7a0d2b417 Thierry Reding  2014-07-04  720  #define insb insb
6f043e75744596 Niklas Schnelle 2024-10-24  721  #ifdef CONFIG_HAS_IOPORT
9ab3a7a0d2b417 Thierry Reding  2014-07-04  722  static inline void insb(unsigned long addr, void *buffer, unsigned int count)
9ab3a7a0d2b417 Thierry Reding  2014-07-04  723  {
9ab3a7a0d2b417 Thierry Reding  2014-07-04  724  	readsb(PCI_IOBASE + addr, buffer, count);
9ab3a7a0d2b417 Thierry Reding  2014-07-04  725  }
6f043e75744596 Niklas Schnelle 2024-10-24  726  #else
6f043e75744596 Niklas Schnelle 2024-10-24  727  void insb(unsigned long addr, void *buffer, unsigned int count)
6f043e75744596 Niklas Schnelle 2024-10-24  728  	__compiletime_error("insb() requires HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  729  #endif
9ab3a7a0d2b417 Thierry Reding  2014-07-04  730  #endif
9ab3a7a0d2b417 Thierry Reding  2014-07-04  731  
9ab3a7a0d2b417 Thierry Reding  2014-07-04  732  #ifndef insw
9ab3a7a0d2b417 Thierry Reding  2014-07-04 @733  #define insw insw
6f043e75744596 Niklas Schnelle 2024-10-24  734  #ifdef CONFIG_HAS_IOPORT
9ab3a7a0d2b417 Thierry Reding  2014-07-04  735  static inline void insw(unsigned long addr, void *buffer, unsigned int count)
9ab3a7a0d2b417 Thierry Reding  2014-07-04  736  {
9ab3a7a0d2b417 Thierry Reding  2014-07-04  737  	readsw(PCI_IOBASE + addr, buffer, count);
9ab3a7a0d2b417 Thierry Reding  2014-07-04  738  }
6f043e75744596 Niklas Schnelle 2024-10-24  739  #else
6f043e75744596 Niklas Schnelle 2024-10-24  740  void insw(unsigned long addr, void *buffer, unsigned int count)
6f043e75744596 Niklas Schnelle 2024-10-24  741  	__compiletime_error("insw() requires HAS_IOPORT");
6f043e75744596 Niklas Schnelle 2024-10-24  742  #endif
9ab3a7a0d2b417 Thierry Reding  2014-07-04  743  #endif
9ab3a7a0d2b417 Thierry Reding  2014-07-04  744  

:::::: The code at line 542 was first introduced by commit
:::::: f009c89df79abea5f5244b8135a205f7d4352f86 io: Provide _inX() and _outX()

:::::: TO: John Garry <john.garry@huawei.com>
:::::: CC: Wei Xu <xuwei5@hisilicon.com>

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-11-10 23:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-05 23:02 include/asm-generic/io.h:542:14: error: call to '_inb' declared with attribute error: inb()) requires CONFIG_HAS_IOPORT kernel test robot
2025-06-06  7:46 ` Arnd Bergmann
2025-11-10 23:00 kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®