All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Arnd Bergmann <arnd@arndb.de>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Baoquan He <bhe@redhat.com>
Cc: linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, Christoph Hellwig <hch@lst.de>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Mike Rapoport <rppt@kernel.org>,
	Matthew Wilcox <willy@infradead.org>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Kefeng Wang <wangkefeng.wang@huawei.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Laight <David.Laight@aculab.com>,
	Helge Deller <deller@gmx.de>,
	Nathan Chancellor <nathan@kernel.org>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	linux-sh@vger.kernel.org, Guenter Roeck <linux@roeck-us.net>
Subject: Re: [PATCH v8 11/19] sh: add <asm-generic/io.h> including
Date: Tue, 01 Aug 2023 21:21:45 +0200	[thread overview]
Message-ID: <c48f6f3c742eaf35e35882064ccf4ed07d4e63fe.camel@physik.fu-berlin.de> (raw)
In-Reply-To: <09094baf-dadf-4bce-9f63-f2a1f255f9a8@app.fastmail.com>

Hi Arnd!

On Mon, 2023-07-10 at 12:47 +0200, Arnd Bergmann wrote:
> It looks like only the "noioport" variant got some of the
> extra macro definitions, but the version for PCI still needs the
> same six macros, plus the ones of inb/outb etc, something like
> this:
> 
> diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
> index 24c560c065ec7..2135e32145c54 100644
> --- a/arch/sh/include/asm/io.h
> +++ b/arch/sh/include/asm/io.h
> @@ -241,6 +241,26 @@ __BUILD_IOPORT_STRING(q, u64)
>  
>  #endif
>  
> +#define inb(addr)      inb(addr)
> +#define inw(addr)      inw(addr)
> +#define inl(addr)      inl(addr)
> +#define outb(x, addr)  outb((x), (addr))
> +#define outw(x, addr)  outw((x), (addr))
> +#define outl(x, addr)  outl((x), (addr))
> +
> +#define inb_p(addr)    inb(addr)
> +#define inw_p(addr)    inw(addr)
> +#define inl_p(addr)    inl(addr)
> +#define outb_p(x, addr)        outb((x), (addr))
> +#define outw_p(x, addr)        outw((x), (addr))
> +#define outl_p(x, addr)        outl((x), (addr))
> +
> +#define insb insb
> +#define insw insw
> +#define insl insl
> +#define outsb outsb
> +#define outsw outsw
> +#define outsl outsl
>  
>  #define IO_SPACE_LIMIT 0xffffffff
>  
> diff --git a/arch/sh/include/asm/io_noioport.h b/arch/sh/include/asm/io_noioport.h
> index 5ba4116b4265c..12dad91f41c1e 100644
> --- a/arch/sh/include/asm/io_noioport.h
> +++ b/arch/sh/include/asm/io_noioport.h
> @@ -46,20 +46,6 @@ static inline void ioport_unmap(void __iomem *addr)
>         BUG();
>  }
>  
> -#define inb_p(addr)    inb(addr)
> -#define inw_p(addr)    inw(addr)
> -#define inl_p(addr)    inl(addr)
> -#define outb_p(x, addr)        outb((x), (addr))
> -#define outw_p(x, addr)        outw((x), (addr))
> -#define outl_p(x, addr)        outl((x), (addr))
> -
> -#define insb insb
> -#define insw insw
> -#define insl insl
> -#define outsb outsb
> -#define outsw outsw
> -#define outsl outsl
> -
>  static inline void insb(unsigned long port, void *dst, unsigned long count)
>  {
>         BUG();

I am fine with this fix.

Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>

> I think ideally all the I/O port stuff in arch/sh/ could just be
> removed after the conversion to asm-generic/io.h, but the
> microdev_ioport_map() function oddity gets in the way of that,
> unless someone wants to clean up that platform. As far as I
> can tell, the ethernet, display, USB and PCI devices on it already
> broke at some point (afbb9d8d5266b, 46bc85872040a), so it might
> be easier to remove it entirely.

I don't have this particular hardware, so I cannot comment on this.

> > I'm not happy though that this patch is in linux-next without being Acked by me
> > or being reviewed by anyone. We should always make sure first that the code
> > actually builds and has been tested on real hardware.
> 
> I think that if the series has been posted eight times, you had
> your chance to do a review, especially since I pointed out that
> merging this one would have avoid the unxlate_dev_mem_ptr() bug
> as well.

I have only been the maintainer of arch/sh for a few weeks, so it's natural
that I am not doing a perfect job and might miss something. Also, I am not
getting paid for this work, I am doing this in my free time.

> Having the series go into linux-next sounds appropriate like this,
> the entire purpose of that is to find such bugs and Andrew can jus
> fold the fixup into the broken patch. 
> 
> Let me know if you prefer the simple version with the extra
> #defines or if we should just use the generic inb/outb implementation
> immediately and drop microdev in a separate patch.

Please go ahead with the simple version.

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

  reply	other threads:[~2023-08-01 19:22 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-06 15:45 [PATCH v8 00/19] mm: ioremap: Convert architectures to take GENERIC_IOREMAP way Baoquan He
2023-07-06 15:45 ` [PATCH v8 01/19] asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros Baoquan He
2023-07-06 15:45 ` [PATCH v8 02/19] hexagon: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-07-10  6:32   ` Christoph Hellwig
2023-07-06 15:45 ` [PATCH v8 03/19] openrisc: mm: remove unneeded early ioremap code Baoquan He
2023-07-06 15:45 ` [PATCH v8 04/19] mm/ioremap: Define generic_ioremap_prot() and generic_iounmap() Baoquan He
2023-07-06 15:45 ` [PATCH v8 05/19] mm: ioremap: allow ARCH to have its own ioremap method definition Baoquan He
2023-07-06 15:45 ` [PATCH v8 06/19] mm/ioremap: add slab availability checking in ioremap_prot Baoquan He
2023-07-06 15:45 ` [PATCH v8 07/19] arc: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-07-06 15:45   ` Baoquan He
2023-07-06 15:45 ` [PATCH v8 08/19] ia64: " Baoquan He
2023-07-06 15:45 ` [PATCH v8 09/19] openrisc: " Baoquan He
2023-07-06 15:45 ` [PATCH v8 10/19] s390: " Baoquan He
2023-07-06 15:45 ` [PATCH v8 11/19] sh: add <asm-generic/io.h> including Baoquan He
2023-07-10  8:17   ` Geert Uytterhoeven
2023-07-10  8:45     ` John Paul Adrian Glaubitz
2023-07-10 10:47       ` Arnd Bergmann
2023-08-01 19:21         ` John Paul Adrian Glaubitz [this message]
2023-08-02 14:19           ` Arnd Bergmann
2023-08-02 17:28             ` John Paul Adrian Glaubitz
2023-07-06 15:45 ` [PATCH v8 12/19] sh: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-07-06 15:45 ` [PATCH v8 13/19] xtensa: " Baoquan He
2023-07-06 15:45 ` [PATCH v8 14/19] parisc: " Baoquan He
2023-07-06 15:45 ` [PATCH v8 15/19] mm/ioremap: Consider IOREMAP space in generic ioremap Baoquan He
2023-07-06 15:45 ` [PATCH v8 16/19] mm: move is_ioremap_addr() into new header file Baoquan He
2023-07-06 15:45 ` [PATCH v8 17/19] powerpc: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-07-06 15:45   ` Baoquan He
2023-07-06 15:45 ` [PATCH v8 18/19] arm64 : mm: add wrapper function ioremap_prot() Baoquan He
2023-07-06 15:45   ` Baoquan He
2023-07-06 15:45 ` [PATCH v8 19/19] mm: ioremap: remove unneeded ioremap_allowed and iounmap_allowed Baoquan He

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=c48f6f3c742eaf35e35882064ccf4ed07d4e63fe.camel@physik.fu-berlin.de \
    --to=glaubitz@physik.fu-berlin.de \
    --cc=David.Laight@aculab.com \
    --cc=agordeev@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=bhe@redhat.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dalias@libc.org \
    --cc=deller@gmx.de \
    --cc=geert@linux-m68k.org \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=nathan@kernel.org \
    --cc=rppt@kernel.org \
    --cc=schnelle@linux.ibm.com \
    --cc=shorne@gmail.com \
    --cc=wangkefeng.wang@huawei.com \
    --cc=willy@infradead.org \
    --cc=ysato@users.sourceforge.jp \
    /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.