[1/3] sh: remove unused SLOW_DOWN_IO

Message ID 20221014001911.3342485-2-helgaas@kernel.org
State New
Headers
Series Remove unused SLOW_DOWN_IO |

Commit Message

Bjorn Helgaas Oct. 14, 2022, 12:19 a.m. UTC
  From: Bjorn Helgaas <bhelgaas@google.com>

io.h defines SLOW_DOWN_IO only when CONF_SLOWDOWN_IO is defined, but
CONF_SLOWDOWN_IO is never defined and is in fact explicitly undefined.
Remove SLOW_DOWN_IO and related code.

N.B. 37b7a97884ba ("sh: machvec IO death.") went to some trouble to add
CONF_SLOWDOWN_IO and SLOW_DOWN_IO, for no obvious reason.  Maybe there was
some out-of-tree case that used this.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: linux-sh@vger.kernel.org
---
 arch/sh/include/asm/io.h | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)
  

Comments

kernel test robot Oct. 18, 2022, 4:39 a.m. UTC | #1
Hi Bjorn,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.1-rc1 next-20221017]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Bjorn-Helgaas/Remove-unused-SLOW_DOWN_IO/20221014-082009
patch link:    https://lore.kernel.org/r/20221014001911.3342485-2-helgaas%40kernel.org
patch subject: [PATCH 1/3] sh: remove unused SLOW_DOWN_IO
config: sh-randconfig-r014-20221017
compiler: sh4-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://github.com/intel-lab-lkp/linux/commit/97fddfbcfbc03f2af052fdb75d583cbea176d3bb
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Bjorn-Helgaas/Remove-unused-SLOW_DOWN_IO/20221014-082009
        git checkout 97fddfbcfbc03f2af052fdb75d583cbea176d3bb
        # 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=sh prepare

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   cc1: warning: arch/sh/include/mach-hp6xx: No such file or directory [-Wmissing-include-dirs]
   cc1: warning: arch/sh/include/mach-hp6xx: No such file or directory [-Wmissing-include-dirs]
   cc1: warning: arch/sh/include/mach-hp6xx: No such file or directory [-Wmissing-include-dirs]
   cc1: warning: arch/sh/include/mach-hp6xx: No such file or directory [-Wmissing-include-dirs]
   cc1: warning: arch/sh/include/mach-hp6xx: No such file or directory [-Wmissing-include-dirs]
   cc1: warning: arch/sh/include/mach-hp6xx: No such file or directory [-Wmissing-include-dirs]
   In file included from include/linux/io.h:13,
                    from include/linux/irq.h:20,
                    from include/asm-generic/hardirq.h:17,
                    from arch/sh/include/asm/hardirq.h:9,
                    from include/linux/hardirq.h:11,
                    from include/linux/interrupt.h:11,
                    from include/linux/kernel_stat.h:9,
                    from include/linux/cgroup.h:26,
                    from include/linux/memcontrol.h:13,
                    from include/linux/swap.h:9,
                    from include/linux/suspend.h:5,
                    from arch/sh/kernel/asm-offsets.c:16:
>> arch/sh/include/asm/io.h:171:21: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     171 | BUILDIO_IOPORT(b, u8)
         |                     ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
>> arch/sh/include/asm/io.h:171:21: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     171 | BUILDIO_IOPORT(b, u8)
         |                     ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
>> arch/sh/include/asm/io.h:165:9: error: unknown type name '__BUILD_IOPORT_SINGLE'
     165 |         __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)                       \
         |         ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:169:9: note: in expansion of macro '__BUILD_IOPORT_PFX'
     169 |         __BUILD_IOPORT_PFX(, bwlq, type)
         |         ^~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:171:1: note: in expansion of macro 'BUILDIO_IOPORT'
     171 | BUILDIO_IOPORT(b, u8)
         | ^~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:172:22: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     172 | BUILDIO_IOPORT(w, u16)
         |                      ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
>> arch/sh/include/asm/io.h:165:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__BUILD_IOPORT_SINGLE'
     165 |         __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)                       \
         |         ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:169:9: note: in expansion of macro '__BUILD_IOPORT_PFX'
     169 |         __BUILD_IOPORT_PFX(, bwlq, type)
         |         ^~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:172:1: note: in expansion of macro 'BUILDIO_IOPORT'
     172 | BUILDIO_IOPORT(w, u16)
         | ^~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:172:22: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     172 | BUILDIO_IOPORT(w, u16)
         |                      ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
>> arch/sh/include/asm/io.h:165:9: error: unknown type name '__BUILD_IOPORT_SINGLE'
     165 |         __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)                       \
         |         ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:169:9: note: in expansion of macro '__BUILD_IOPORT_PFX'
     169 |         __BUILD_IOPORT_PFX(, bwlq, type)
         |         ^~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:172:1: note: in expansion of macro 'BUILDIO_IOPORT'
     172 | BUILDIO_IOPORT(w, u16)
         | ^~~~~~~~~~~~~~
   arch/sh/include/asm/io.h:173:22: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     173 | BUILDIO_IOPORT(l, u32)
         |                      ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
   arch/sh/include/asm/io.h:173:22: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     173 | BUILDIO_IOPORT(l, u32)
         |                      ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
   arch/sh/include/asm/io.h:174:22: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     174 | BUILDIO_IOPORT(q, u64)
         |                      ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
   arch/sh/include/asm/io.h:174:22: error: macro "__BUILD_IOPORT_SINGLE" passed 5 arguments, but takes just 4
     174 | BUILDIO_IOPORT(q, u64)
         |                      ^
   arch/sh/include/asm/io.h:143: note: macro "__BUILD_IOPORT_SINGLE" defined here
     143 | #define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                       \
         | 
   arch/sh/include/asm/io.h: In function 'insb':
>> arch/sh/include/asm/io.h:195:27: error: implicit declaration of function 'inb'; did you mean 'insb'? [-Werror=implicit-function-declaration]
     195 |                 *__addr = in##bwlq(port);                               \
         |                           ^~
   arch/sh/include/asm/io.h:200:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     200 | __BUILD_IOPORT_STRING(b, u8)
         | ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h: In function 'outsw':
>> arch/sh/include/asm/io.h:184:17: error: implicit declaration of function 'outw'; did you mean 'outsw'? [-Werror=implicit-function-declaration]
     184 |                 out##bwlq(*__addr, port);                               \
         |                 ^~~
   arch/sh/include/asm/io.h:201:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     201 | __BUILD_IOPORT_STRING(w, u16)
         | ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h: In function 'insw':
>> arch/sh/include/asm/io.h:195:27: error: implicit declaration of function 'inw'; did you mean 'insw'? [-Werror=implicit-function-declaration]
     195 |                 *__addr = in##bwlq(port);                               \
         |                           ^~
   arch/sh/include/asm/io.h:201:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     201 | __BUILD_IOPORT_STRING(w, u16)
         | ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h: In function 'outsl':
>> arch/sh/include/asm/io.h:184:17: error: implicit declaration of function 'outl'; did you mean 'outsl'? [-Werror=implicit-function-declaration]
     184 |                 out##bwlq(*__addr, port);                               \
         |                 ^~~
   arch/sh/include/asm/io.h:202:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     202 | __BUILD_IOPORT_STRING(l, u32)
         | ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h: In function 'insl':
>> arch/sh/include/asm/io.h:195:27: error: implicit declaration of function 'inl'; did you mean 'insl'? [-Werror=implicit-function-declaration]
     195 |                 *__addr = in##bwlq(port);                               \
         |                           ^~
   arch/sh/include/asm/io.h:202:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     202 | __BUILD_IOPORT_STRING(l, u32)
         | ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h: In function 'outsq':
>> arch/sh/include/asm/io.h:184:17: error: implicit declaration of function 'outq'; did you mean 'outsq'? [-Werror=implicit-function-declaration]
     184 |                 out##bwlq(*__addr, port);                               \
         |                 ^~~
   arch/sh/include/asm/io.h:203:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     203 | __BUILD_IOPORT_STRING(q, u64)
         | ^~~~~~~~~~~~~~~~~~~~~
   arch/sh/include/asm/io.h: In function 'insq':
>> arch/sh/include/asm/io.h:195:27: error: implicit declaration of function 'inq'; did you mean 'insq'? [-Werror=implicit-function-declaration]
     195 |                 *__addr = in##bwlq(port);                               \
         |                           ^~
   arch/sh/include/asm/io.h:203:1: note: in expansion of macro '__BUILD_IOPORT_STRING'
     203 | __BUILD_IOPORT_STRING(q, u64)
         | ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
   make[2]: *** [scripts/Makefile.build:118: arch/sh/kernel/asm-offsets.s] Error 1
   make[2]: Target 'prepare' not remade because of errors.
   make[1]: *** [Makefile:1270: prepare0] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [Makefile:231: __sub-make] Error 2
   make: Target 'prepare' not remade because of errors.


vim +/__BUILD_IOPORT_SINGLE +171 arch/sh/include/asm/io.h

b66c1a3919abb4 include/asm-sh/io.h      Paul Mundt     2006-01-16  163  
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  164  #define __BUILD_IOPORT_PFX(bus, bwlq, type)				\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01 @165  	__BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)			\
97fddfbcfbc03f arch/sh/include/asm/io.h Bjorn Helgaas  2022-10-13  166  	__BUILD_IOPORT_SINGLE(bus, bwlq, type, _p,)
^1da177e4c3f41 include/asm-sh/io.h      Linus Torvalds 2005-04-16  167  
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  168  #define BUILDIO_IOPORT(bwlq, type)					\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  169  	__BUILD_IOPORT_PFX(, bwlq, type)
0f2c15cecee0ff include/asm-sh/io.h      Paul Mundt     2007-11-21  170  
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01 @171  BUILDIO_IOPORT(b, u8)
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  172  BUILDIO_IOPORT(w, u16)
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  173  BUILDIO_IOPORT(l, u32)
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  174  BUILDIO_IOPORT(q, u64)
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  175  
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  176  #define __BUILD_IOPORT_STRING(bwlq, type)				\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  177  									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  178  static inline void outs##bwlq(unsigned long port, const void *addr,	\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  179  			      unsigned int count)			\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  180  {									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  181  	const volatile type *__addr = addr;				\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  182  									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  183  	while (count--) {						\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01 @184  		out##bwlq(*__addr, port);				\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  185  		__addr++;						\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  186  	}								\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  187  }									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  188  									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  189  static inline void ins##bwlq(unsigned long port, void *addr,		\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  190  			     unsigned int count)			\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  191  {									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  192  	volatile type *__addr = addr;					\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  193  									\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  194  	while (count--) {						\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01 @195  		*__addr = in##bwlq(port);				\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  196  		__addr++;						\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  197  	}								\
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  198  }
37b7a97884ba64 arch/sh/include/asm/io.h Paul Mundt     2010-11-01  199
  
Bjorn Helgaas Oct. 18, 2022, 5:30 p.m. UTC | #2
On Thu, Oct 13, 2022 at 07:19:09PM -0500, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> io.h defines SLOW_DOWN_IO only when CONF_SLOWDOWN_IO is defined, but
> CONF_SLOWDOWN_IO is never defined and is in fact explicitly undefined.
> Remove SLOW_DOWN_IO and related code.
> 
> N.B. 37b7a97884ba ("sh: machvec IO death.") went to some trouble to add
> CONF_SLOWDOWN_IO and SLOW_DOWN_IO, for no obvious reason.  Maybe there was
> some out-of-tree case that used this.
> 
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> Cc: Rich Felker <dalias@libc.org>
> Cc: linux-sh@vger.kernel.org

Please disregard this patch.  I'll post an updated version that fixes
the build error and removes a little more unused/unnecessary stuff.

> ---
>  arch/sh/include/asm/io.h | 17 ++---------------
>  1 file changed, 2 insertions(+), 15 deletions(-)
> 
> diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
> index fba90e670ed4..8d2df499b2fc 100644
> --- a/arch/sh/include/asm/io.h
> +++ b/arch/sh/include/asm/io.h
> @@ -121,11 +121,6 @@ __BUILD_MEMORY_STRING(__raw_, q, u64)
>  
>  #ifdef CONFIG_HAS_IOPORT_MAP
>  
> -/*
> - * Slowdown I/O port space accesses for antique hardware.
> - */
> -#undef CONF_SLOWDOWN_IO
> -
>  /*
>   * On SuperH I/O ports are memory mapped, so we access them using normal
>   * load/store instructions. sh_io_port_base is the virtual address to
> @@ -145,13 +140,7 @@ static inline void __set_io_port_base(unsigned long pbase)
>  extern void __iomem *__ioport_map(unsigned long addr, unsigned int size);
>  #endif
>  
> -#ifdef CONF_SLOWDOWN_IO
> -#define SLOW_DOWN_IO __raw_readw(sh_io_port_base)
> -#else
> -#define SLOW_DOWN_IO
> -#endif
> -
> -#define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p, slow)			\
> +#define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)			\
>  									\
>  static inline void pfx##out##bwlq##p(type val, unsigned long port)	\
>  {									\
> @@ -159,7 +148,6 @@ static inline void pfx##out##bwlq##p(type val, unsigned long port)	\
>  									\
>  	__addr = __ioport_map(port, sizeof(type));			\
>  	*__addr = val;							\
> -	slow;								\
>  }									\
>  									\
>  static inline type pfx##in##bwlq##p(unsigned long port)			\
> @@ -169,14 +157,13 @@ static inline type pfx##in##bwlq##p(unsigned long port)			\
>  									\
>  	__addr = __ioport_map(port, sizeof(type));			\
>  	__val = *__addr;						\
> -	slow;								\
>  									\
>  	return __val;							\
>  }
>  
>  #define __BUILD_IOPORT_PFX(bus, bwlq, type)				\
>  	__BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)			\
> -	__BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO)
> +	__BUILD_IOPORT_SINGLE(bus, bwlq, type, _p,)
>  
>  #define BUILDIO_IOPORT(bwlq, type)					\
>  	__BUILD_IOPORT_PFX(, bwlq, type)
> -- 
> 2.25.1
>
  

Patch

diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index fba90e670ed4..8d2df499b2fc 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -121,11 +121,6 @@  __BUILD_MEMORY_STRING(__raw_, q, u64)
 
 #ifdef CONFIG_HAS_IOPORT_MAP
 
-/*
- * Slowdown I/O port space accesses for antique hardware.
- */
-#undef CONF_SLOWDOWN_IO
-
 /*
  * On SuperH I/O ports are memory mapped, so we access them using normal
  * load/store instructions. sh_io_port_base is the virtual address to
@@ -145,13 +140,7 @@  static inline void __set_io_port_base(unsigned long pbase)
 extern void __iomem *__ioport_map(unsigned long addr, unsigned int size);
 #endif
 
-#ifdef CONF_SLOWDOWN_IO
-#define SLOW_DOWN_IO __raw_readw(sh_io_port_base)
-#else
-#define SLOW_DOWN_IO
-#endif
-
-#define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p, slow)			\
+#define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)			\
 									\
 static inline void pfx##out##bwlq##p(type val, unsigned long port)	\
 {									\
@@ -159,7 +148,6 @@  static inline void pfx##out##bwlq##p(type val, unsigned long port)	\
 									\
 	__addr = __ioport_map(port, sizeof(type));			\
 	*__addr = val;							\
-	slow;								\
 }									\
 									\
 static inline type pfx##in##bwlq##p(unsigned long port)			\
@@ -169,14 +157,13 @@  static inline type pfx##in##bwlq##p(unsigned long port)			\
 									\
 	__addr = __ioport_map(port, sizeof(type));			\
 	__val = *__addr;						\
-	slow;								\
 									\
 	return __val;							\
 }
 
 #define __BUILD_IOPORT_PFX(bus, bwlq, type)				\
 	__BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)			\
-	__BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO)
+	__BUILD_IOPORT_SINGLE(bus, bwlq, type, _p,)
 
 #define BUILDIO_IOPORT(bwlq, type)					\
 	__BUILD_IOPORT_PFX(, bwlq, type)