From: Baoquan He <bhe@redhat.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>,
Arnd Bergmann <arnd@arndb.de>
Cc: Matthew Wilcox <willy@infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@infradead.org>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Kefeng Wang <wangkefeng.wang@huawei.com>,
Niklas Schnelle <schnelle@linux.ibm.com>,
David Laight <David.Laight@aculab.com>,
Stafford Horne <shorne@gmail.com>,
"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
Helge Deller <deller@gmx.de>,
"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>
Subject: Re: [PATCH v4 12/16] parisc: mm: Convert to GENERIC_IOREMAP
Date: Wed, 22 Feb 2023 16:35:08 +0800 [thread overview]
Message-ID: <Y/XTvJRtZXKa6b/M@MiWiFi-R3L-srv> (raw)
In-Reply-To: <107be2c9-021b-85f6-d32d-ddb9e75ce24f@csgroup.eu>
Hi Christophe, Arnd,
On 02/17/23 at 01:46pm, Christophe Leroy wrote:
>
>
> Le 17/02/2023 à 14:31, Baoquan He a écrit :
> > On 02/16/23 at 04:18pm, Arnd Bergmann wrote:
> >> On Thu, Feb 16, 2023, at 16:02, Baoquan He wrote:
> >>> On 02/16/23 at 01:50pm, Matthew Wilcox wrote:
> >>> It's not if including asm-generic/iomap.h. The ARCH_HAS_IOREMAP_xx is to
> >>> avoid redefinition there.
> >>>
> >>> include/asm-generic/iomap.h:
> >>> ----
> >>> #ifndef ARCH_HAS_IOREMAP_WC
> >>> #define ioremap_wc ioremap
> >>> #endif
> >>
> >> I'd change that to the usual '#ifndef ioremap_wc' in that case.
> >
> > Not sure if I got you. Kill all ARCH_HAS_IOREMAP_xxx in kernel? If yes,
> > sounds like a good idea.
> >
>
> At least kill that one at the first place in your series, and then the
> other ones in a follow-up series maybe.
I made a patch to remove all ARCH_HAS_IOREMAP_xx macros in architectures
and the ifdeffery of ARCH_HAS_IOREMAP_xx in asm-generic/iomap.h.
But the change will cause building error as below. Becuase we usually
have '#include <asm-generic/iomap.h>' at the beginning of
arch/xx/include/asm/io.h, and have '#include <asm-generic/io.h>' at the
end of arch/xx/include/asm/io.h. For architecutres which has
ARCH_HAS_IOREMAP_xx defining, we need move ''#include <asm-generic/iomap.h>
dowe to below '#include <asm-generic/io.h>'. Please help check if it's
still worth doing.
***move '#include <asm-generic/iomap.h>' below '#include <asm-generic/io.h>'
***
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 8ab68cde1f13..a8d55fc62959 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -209,8 +209,6 @@ void memset_io(volatile void __iomem *, int, size_t);
#define memcpy_toio memcpy_toio
#define memset_io memset_io
-#include <asm-generic/iomap.h>
-
/*
* ISA space is 'always mapped' on a typical x86 system, no need to
* explicitly ioremap() it. The fact that the ISA IO space is mapped
@@ -329,6 +327,8 @@ extern bool is_early_ioremap_ptep(pte_t *ptep);
#include <asm-generic/io.h>
#undef PCI_IOBASE
+#include <asm-generic/iomap.h>
+
#ifdef CONFIG_MTRR
extern int __must_check arch_phys_wc_index(int handle);
#define arch_phys_wc_index arch_phys_wc_index
***Building error after removing ARCH_HAS_IOREMAP_xx
***
In file included from ./include/linux/io.h:13,
from ./include/linux/irq.h:20,
from ./include/xen/events.h:6,
from arch/x86/entry/common.c:25:
./arch/x86/include/asm/io.h:321: warning: "ioremap_wc" redefined
321 | #define ioremap_wc ioremap_wc
|
In file included from ./arch/x86/include/asm/io.h:212:
./include/asm-generic/iomap.h:97: note: this is the location of the previous definition
97 | #define ioremap_wc ioremap
|
./arch/x86/include/asm/io.h:323: warning: "ioremap_wt" redefined
323 | #define ioremap_wt ioremap_wt
|
./include/asm-generic/iomap.h:101: note: this is the location of the previous definition
101 | #define ioremap_wt ioremap
next prev parent reply other threads:[~2023-02-22 8:36 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-16 12:34 [PATCH v4 00/16] mm: ioremap: Convert architectures to take GENERIC_IOREMAP way Baoquan He
2023-02-16 12:34 ` [PATCH v4 01/16] hexagon: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-02-16 12:53 ` Arnd Bergmann
2023-02-16 14:47 ` Baoquan He
2023-02-16 14:51 ` Arnd Bergmann
2023-02-17 12:11 ` Baoquan He
2023-02-16 12:34 ` [PATCH v4 02/16] openrisc: mm: remove unneeded early ioremap code Baoquan He
2023-02-16 12:34 ` [PATCH v4 03/16] mm/ioremap: Define generic_ioremap_prot() and generic_iounmap() Baoquan He
2023-02-16 12:34 ` [PATCH v4 04/16] mm: ioremap: allow ARCH to have its own ioremap method definition Baoquan He
2023-02-16 12:41 ` Arnd Bergmann
2023-02-16 12:34 ` [PATCH v4 05/16] mm/ioremap: add slab availability checking in ioremap_prot Baoquan He
2023-02-16 12:34 ` [PATCH v4 06/16] arc: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-02-16 12:34 ` Baoquan He
2023-02-16 12:34 ` [PATCH v4 07/16] ia64: " Baoquan He
2023-02-16 12:34 ` Baoquan He
2023-02-16 12:34 ` [PATCH v4 08/16] openrisc: " Baoquan He
2023-02-16 12:34 ` [PATCH v4 09/16] s390: " Baoquan He
2023-02-16 16:21 ` Niklas Schnelle
2023-02-21 11:48 ` Baoquan He
2023-02-21 12:26 ` Niklas Schnelle
2023-02-21 12:52 ` Baoquan He
2023-02-16 12:34 ` [PATCH v4 10/16] sh: " Baoquan He
2023-02-16 12:34 ` [PATCH v4 11/16] xtensa: " Baoquan He
2023-02-16 12:34 ` [PATCH v4 12/16] parisc: " Baoquan He
2023-02-16 13:50 ` Matthew Wilcox
2023-02-16 15:02 ` Baoquan He
2023-02-16 15:18 ` Arnd Bergmann
2023-02-17 13:31 ` Baoquan He
2023-02-17 13:46 ` Christophe Leroy
2023-02-17 14:21 ` Baoquan He
2023-02-17 14:33 ` Christophe Leroy
2023-02-17 14:35 ` Christophe Leroy
2023-02-21 11:43 ` Baoquan He
2023-02-22 8:35 ` Baoquan He [this message]
2023-02-16 12:34 ` [PATCH v4 13/16] mm/ioremap: Consider IOREMAP space in generic ioremap Baoquan He
2023-02-16 12:34 ` [PATCH v4 14/16] powerpc: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-02-16 12:34 ` Baoquan He
2023-02-16 12:34 ` [PATCH v4 15/16] arm64 : mm: add wrapper function ioremap_prot() Baoquan He
2023-02-16 12:34 ` Baoquan He
2023-02-16 12:34 ` [PATCH v4 16/16] 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=Y/XTvJRtZXKa6b/M@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=David.Laight@aculab.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=christophe.leroy@csgroup.eu \
--cc=deller@gmx.de \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-parisc@vger.kernel.org \
--cc=schnelle@linux.ibm.com \
--cc=shorne@gmail.com \
--cc=wangkefeng.wang@huawei.com \
--cc=willy@infradead.org \
/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.