From: "Arnd Bergmann" <arnd@arndb.de>
To: "John Paul Adrian Glaubitz" <glaubitz@physik.fu-berlin.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: Mon, 10 Jul 2023 12:47:52 +0200 [thread overview]
Message-ID: <09094baf-dadf-4bce-9f63-f2a1f255f9a8@app.fastmail.com> (raw)
In-Reply-To: <0f771b11539d5a3871691af901315ee2034b577c.camel@physik.fu-berlin.de>
On Mon, Jul 10, 2023, at 10:45, John Paul Adrian Glaubitz wrote:
> On Mon, 2023-07-10 at 10:17 +0200, Geert Uytterhoeven wrote:
>> Thanks for your patch, which is now commit edad4470b45298ba ("sh:
>> add <asm-generic/io.h> including") in next-20230710.
>>
>> This break dreamcast_defconfig:
>>
>> CC arch/sh/kernel/asm-offsets.s
>> In file included from ./arch/sh/include/asm/io.h:290,
>> ./include/asm-generic/io.h:636:15: error: redefinition of ‘inb_p’
>> 636 | #define inb_p inb_p
>> | ^~~~~
>> > index f7938fe0f911..5ba4116b4265 100644
>> > --- a/arch/sh/include/asm/io_noioport.h
>> > +++ b/arch/sh/include/asm/io_noioport.h
>> > @@ -53,6 +53,13 @@ static inline void ioport_unmap(void __iomem *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
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 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'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.
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.
Arnd
next prev parent reply other threads:[~2023-07-10 10:48 UTC|newest]
Thread overview: 27+ 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 ` [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 [this message]
2023-08-01 19:21 ` John Paul Adrian Glaubitz
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 ` [PATCH v8 18/19] arm64 : mm: add wrapper function ioremap_prot() 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=09094baf-dadf-4bce-9f63-f2a1f255f9a8@app.fastmail.com \
--to=arnd@arndb.de \
--cc=David.Laight@aculab.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=christophe.leroy@csgroup.eu \
--cc=dalias@libc.org \
--cc=deller@gmx.de \
--cc=geert@linux-m68k.org \
--cc=glaubitz@physik.fu-berlin.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox