Re: [PATCH 4/4] sh: machvec: remove custom ioport_{un,}map()

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel
Message-ID <d737e5a40f7e2009222d98de7696cc78740869e3.camel@physik.fu-berlin.de>
Hi Arnd!

On Wed, 2023-08-02 at 20:48 +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
> 
> These functions were only used on the microdev
> board that is now gone, so remove them to simplify
> the ioport handling.
> 
> This could be further simplified to use the generic
> I/O port accessors now.
> 
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>  arch/sh/include/asm/io.h      |  4 ++--
>  arch/sh/include/asm/machvec.h |  5 -----
>  arch/sh/kernel/ioport.c       | 13 +------------
>  3 files changed, 3 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
> index f2f38e9d489ac..ac521f287fa59 100644
> --- a/arch/sh/include/asm/io.h
> +++ b/arch/sh/include/asm/io.h
> @@ -181,7 +181,7 @@ static inline void pfx##out##bwlq##p(type val, unsigned long port)	\
>  {									\
>  	volatile type *__addr;						\
>  									\
> -	__addr = __ioport_map(port, sizeof(type));			\
> +	__addr = (void __iomem *)sh_io_port_base + port;		\
>  	*__addr = val;							\
>  	slow;								\
>  }									\
> @@ -191,7 +191,7 @@ static inline type pfx##in##bwlq##p(unsigned long port)			\
>  	volatile type *__addr;						\
>  	type __val;							\
>  									\
> -	__addr = __ioport_map(port, sizeof(type));			\
> +	__addr = (void __iomem *)sh_io_port_base + port;		\
>  	__val = *__addr;						\
>  	slow;								\
>  									\
> diff --git a/arch/sh/include/asm/machvec.h b/arch/sh/include/asm/machvec.h
> index 2b4b085e8f219..4e5314b921f19 100644
> --- a/arch/sh/include/asm/machvec.h
> +++ b/arch/sh/include/asm/machvec.h
> @@ -19,11 +19,6 @@ struct sh_machine_vector {
>  	int (*mv_irq_demux)(int irq);
>  	void (*mv_init_irq)(void);
>  
> -#ifdef CONFIG_HAS_IOPORT_MAP
> -	void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size);
> -	void (*mv_ioport_unmap)(void __iomem *);
> -#endif
> -
>  	int (*mv_clk_init)(void);
>  	int (*mv_mode_pins)(void);
>  
> diff --git a/arch/sh/kernel/ioport.c b/arch/sh/kernel/ioport.c
> index f39446a658bdb..c8aff8a20164d 100644
> --- a/arch/sh/kernel/ioport.c
> +++ b/arch/sh/kernel/ioport.c
> @@ -12,15 +12,6 @@
>  unsigned long sh_io_port_base __read_mostly = -1;
>  EXPORT_SYMBOL(sh_io_port_base);
>  
> -void __iomem *__ioport_map(unsigned long addr, unsigned int size)
> -{
> -	if (sh_mv.mv_ioport_map)
> -		return sh_mv.mv_ioport_map(addr, size);
> -
> -	return (void __iomem *)(addr + sh_io_port_base);
> -}
> -EXPORT_SYMBOL(__ioport_map);
> -
>  void __iomem *ioport_map(unsigned long port, unsigned int nr)
>  {
>  	void __iomem *ret;
> @@ -29,13 +20,11 @@ void __iomem *ioport_map(unsigned long port, unsigned int nr)
>  	if (ret)
>  		return ret;
>  
> -	return __ioport_map(port, nr);
> +	return (void __iomem *)(port + sh_io_port_base);
>  }
>  EXPORT_SYMBOL(ioport_map);
>  
>  void ioport_unmap(void __iomem *addr)
>  {
> -	if (sh_mv.mv_ioport_unmap)
> -		sh_mv.mv_ioport_unmap(addr);
>  }
>  EXPORT_SYMBOL(ioport_unmap);

Why aren't you removing the function ioport_unmap(void __iomem *addr) completely
and just turn it into stub? Is it still referenced somewhere?

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.