All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Arnd Bergmann <arnd@arndb.de>, Guo Ren <guoren@kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	x86@kernel.org
Cc: linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
	nios2-dev@lists.rocketboards.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	linux-mtd@lists.infradead.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 08/21] x86: clean up ioremap
Date: Thu, 17 Oct 2019 17:45:41 +0000	[thread overview]
Message-ID: <20191017174554.29840-9-hch@lst.de> (raw)
In-Reply-To: <20191017174554.29840-1-hch@lst.de>

Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/x86/include/asm/io.h | 8 ++------
 arch/x86/mm/ioremap.c     | 8 ++++----
 arch/x86/mm/pageattr.c    | 4 ++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6bed97ff6db2..6b5cc41319a7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -180,8 +180,6 @@ static inline unsigned int isa_virt_to_bus(volatile void *address)
  * The default ioremap() behavior is non-cached; if you need something
  * else, you probably want one of the following.
  */
-extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
-#define ioremap_nocache ioremap_nocache
 extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
 #define ioremap_uc ioremap_uc
 extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
@@ -205,11 +203,9 @@ extern void __iomem *ioremap_encrypted(resource_size_t phys_addr, unsigned long
  * If the area you are trying to map is a PCI BAR you should have a
  * look at pci_iomap().
  */
-static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
-{
-	return ioremap_nocache(offset, size);
-}
+void __iomem *ioremap(resource_size_t offset, unsigned long size);
 #define ioremap ioremap
+#define ioremap_nocache ioremap
 
 extern void iounmap(volatile void __iomem *addr);
 #define iounmap iounmap
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a39dcdb5ae34..7985233dfb8d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -280,11 +280,11 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 }
 
 /**
- * ioremap_nocache     -   map bus memory into CPU space
+ * ioremap     -   map bus memory into CPU space
  * @phys_addr:    bus address of the memory
  * @size:      size of the resource to map
  *
- * ioremap_nocache performs a platform specific sequence of operations to
+ * ioremap performs a platform specific sequence of operations to
  * make bus memory CPU accessible via the readb/readw/readl/writeb/
  * writew/writel functions and the other mmio helpers. The returned
  * address is not guaranteed to be usable directly as a virtual
@@ -300,7 +300,7 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
  *
  * Must be freed with iounmap.
  */
-void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
+void __iomem *ioremap(resource_size_t phys_addr, unsigned long size)
 {
 	/*
 	 * Ideally, this should be:
@@ -315,7 +315,7 @@ void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
 	return __ioremap_caller(phys_addr, size, pcm,
 				__builtin_return_address(0), false);
 }
-EXPORT_SYMBOL(ioremap_nocache);
+EXPORT_SYMBOL(ioremap);
 
 /**
  * ioremap_uc     -   map bus memory into CPU space as strongly uncachable
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 0d09cc5aad61..1b99ad05b117 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -1784,7 +1784,7 @@ static inline int cpa_clear_pages_array(struct page **pages, int numpages,
 int _set_memory_uc(unsigned long addr, int numpages)
 {
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 * If you really need strong UC use ioremap_uc(), but note
 	 * that you cannot override IO areas with set_memory_*() as
 	 * these helpers cannot work with IO memory.
@@ -1799,7 +1799,7 @@ int set_memory_uc(unsigned long addr, int numpages)
 	int ret;
 
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 */
 	ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
 			      _PAGE_CACHE_MODE_UC_MINUS, NULL);
-- 
2.20.1

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Arnd Bergmann <arnd@arndb.de>, Guo Ren <guoren@kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	x86@kernel.org
Cc: linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
	nios2-dev@lists.rocketboards.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	linux-mtd@lists.infradead.org, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 08/21] x86: clean up ioremap
Date: Thu, 17 Oct 2019 19:45:41 +0200	[thread overview]
Message-ID: <20191017174554.29840-9-hch@lst.de> (raw)
In-Reply-To: <20191017174554.29840-1-hch@lst.de>

Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/x86/include/asm/io.h | 8 ++------
 arch/x86/mm/ioremap.c     | 8 ++++----
 arch/x86/mm/pageattr.c    | 4 ++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6bed97ff6db2..6b5cc41319a7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -180,8 +180,6 @@ static inline unsigned int isa_virt_to_bus(volatile void *address)
  * The default ioremap() behavior is non-cached; if you need something
  * else, you probably want one of the following.
  */
-extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
-#define ioremap_nocache ioremap_nocache
 extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
 #define ioremap_uc ioremap_uc
 extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
@@ -205,11 +203,9 @@ extern void __iomem *ioremap_encrypted(resource_size_t phys_addr, unsigned long
  * If the area you are trying to map is a PCI BAR you should have a
  * look at pci_iomap().
  */
-static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
-{
-	return ioremap_nocache(offset, size);
-}
+void __iomem *ioremap(resource_size_t offset, unsigned long size);
 #define ioremap ioremap
+#define ioremap_nocache ioremap
 
 extern void iounmap(volatile void __iomem *addr);
 #define iounmap iounmap
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a39dcdb5ae34..7985233dfb8d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -280,11 +280,11 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 }
 
 /**
- * ioremap_nocache     -   map bus memory into CPU space
+ * ioremap     -   map bus memory into CPU space
  * @phys_addr:    bus address of the memory
  * @size:      size of the resource to map
  *
- * ioremap_nocache performs a platform specific sequence of operations to
+ * ioremap performs a platform specific sequence of operations to
  * make bus memory CPU accessible via the readb/readw/readl/writeb/
  * writew/writel functions and the other mmio helpers. The returned
  * address is not guaranteed to be usable directly as a virtual
@@ -300,7 +300,7 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
  *
  * Must be freed with iounmap.
  */
-void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
+void __iomem *ioremap(resource_size_t phys_addr, unsigned long size)
 {
 	/*
 	 * Ideally, this should be:
@@ -315,7 +315,7 @@ void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
 	return __ioremap_caller(phys_addr, size, pcm,
 				__builtin_return_address(0), false);
 }
-EXPORT_SYMBOL(ioremap_nocache);
+EXPORT_SYMBOL(ioremap);
 
 /**
  * ioremap_uc     -   map bus memory into CPU space as strongly uncachable
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 0d09cc5aad61..1b99ad05b117 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -1784,7 +1784,7 @@ static inline int cpa_clear_pages_array(struct page **pages, int numpages,
 int _set_memory_uc(unsigned long addr, int numpages)
 {
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 * If you really need strong UC use ioremap_uc(), but note
 	 * that you cannot override IO areas with set_memory_*() as
 	 * these helpers cannot work with IO memory.
@@ -1799,7 +1799,7 @@ int set_memory_uc(unsigned long addr, int numpages)
 	int ret;
 
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 */
 	ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
 			      _PAGE_CACHE_MODE_UC_MINUS, NULL);
-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Arnd Bergmann <arnd@arndb.de>, Guo Ren <guoren@kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	x86@kernel.org
Cc: linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-sh@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, linux-mips@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	openrisc@lists.librecores.org, linux-mtd@lists.infradead.org,
	linux-alpha@vger.kernel.org, sparclinux@vger.kernel.org,
	nios2-dev@lists.rocketboards.org,
	linux-riscv@lists.infradead.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/21] x86: clean up ioremap
Date: Thu, 17 Oct 2019 19:45:41 +0200	[thread overview]
Message-ID: <20191017174554.29840-9-hch@lst.de> (raw)
In-Reply-To: <20191017174554.29840-1-hch@lst.de>

Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/x86/include/asm/io.h | 8 ++------
 arch/x86/mm/ioremap.c     | 8 ++++----
 arch/x86/mm/pageattr.c    | 4 ++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6bed97ff6db2..6b5cc41319a7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -180,8 +180,6 @@ static inline unsigned int isa_virt_to_bus(volatile void *address)
  * The default ioremap() behavior is non-cached; if you need something
  * else, you probably want one of the following.
  */
-extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
-#define ioremap_nocache ioremap_nocache
 extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
 #define ioremap_uc ioremap_uc
 extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
@@ -205,11 +203,9 @@ extern void __iomem *ioremap_encrypted(resource_size_t phys_addr, unsigned long
  * If the area you are trying to map is a PCI BAR you should have a
  * look at pci_iomap().
  */
-static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
-{
-	return ioremap_nocache(offset, size);
-}
+void __iomem *ioremap(resource_size_t offset, unsigned long size);
 #define ioremap ioremap
+#define ioremap_nocache ioremap
 
 extern void iounmap(volatile void __iomem *addr);
 #define iounmap iounmap
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a39dcdb5ae34..7985233dfb8d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -280,11 +280,11 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 }
 
 /**
- * ioremap_nocache     -   map bus memory into CPU space
+ * ioremap     -   map bus memory into CPU space
  * @phys_addr:    bus address of the memory
  * @size:      size of the resource to map
  *
- * ioremap_nocache performs a platform specific sequence of operations to
+ * ioremap performs a platform specific sequence of operations to
  * make bus memory CPU accessible via the readb/readw/readl/writeb/
  * writew/writel functions and the other mmio helpers. The returned
  * address is not guaranteed to be usable directly as a virtual
@@ -300,7 +300,7 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
  *
  * Must be freed with iounmap.
  */
-void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
+void __iomem *ioremap(resource_size_t phys_addr, unsigned long size)
 {
 	/*
 	 * Ideally, this should be:
@@ -315,7 +315,7 @@ void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
 	return __ioremap_caller(phys_addr, size, pcm,
 				__builtin_return_address(0), false);
 }
-EXPORT_SYMBOL(ioremap_nocache);
+EXPORT_SYMBOL(ioremap);
 
 /**
  * ioremap_uc     -   map bus memory into CPU space as strongly uncachable
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 0d09cc5aad61..1b99ad05b117 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -1784,7 +1784,7 @@ static inline int cpa_clear_pages_array(struct page **pages, int numpages,
 int _set_memory_uc(unsigned long addr, int numpages)
 {
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 * If you really need strong UC use ioremap_uc(), but note
 	 * that you cannot override IO areas with set_memory_*() as
 	 * these helpers cannot work with IO memory.
@@ -1799,7 +1799,7 @@ int set_memory_uc(unsigned long addr, int numpages)
 	int ret;
 
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 */
 	ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
 			      _PAGE_CACHE_MODE_UC_MINUS, NULL);
-- 
2.20.1


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Arnd Bergmann <arnd@arndb.de>, Guo Ren <guoren@kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	x86@kernel.org
Cc: linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-sh@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, linux-mips@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	openrisc@lists.librecores.org, linux-mtd@lists.infradead.org,
	linux-alpha@vger.kernel.org, sparclinux@vger.kernel.org,
	nios2-dev@lists.rocketboards.org,
	linux-riscv@lists.infradead.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/21] x86: clean up ioremap
Date: Thu, 17 Oct 2019 19:45:41 +0200	[thread overview]
Message-ID: <20191017174554.29840-9-hch@lst.de> (raw)
In-Reply-To: <20191017174554.29840-1-hch@lst.de>

Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/x86/include/asm/io.h | 8 ++------
 arch/x86/mm/ioremap.c     | 8 ++++----
 arch/x86/mm/pageattr.c    | 4 ++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6bed97ff6db2..6b5cc41319a7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -180,8 +180,6 @@ static inline unsigned int isa_virt_to_bus(volatile void *address)
  * The default ioremap() behavior is non-cached; if you need something
  * else, you probably want one of the following.
  */
-extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
-#define ioremap_nocache ioremap_nocache
 extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
 #define ioremap_uc ioremap_uc
 extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
@@ -205,11 +203,9 @@ extern void __iomem *ioremap_encrypted(resource_size_t phys_addr, unsigned long
  * If the area you are trying to map is a PCI BAR you should have a
  * look at pci_iomap().
  */
-static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
-{
-	return ioremap_nocache(offset, size);
-}
+void __iomem *ioremap(resource_size_t offset, unsigned long size);
 #define ioremap ioremap
+#define ioremap_nocache ioremap
 
 extern void iounmap(volatile void __iomem *addr);
 #define iounmap iounmap
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a39dcdb5ae34..7985233dfb8d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -280,11 +280,11 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 }
 
 /**
- * ioremap_nocache     -   map bus memory into CPU space
+ * ioremap     -   map bus memory into CPU space
  * @phys_addr:    bus address of the memory
  * @size:      size of the resource to map
  *
- * ioremap_nocache performs a platform specific sequence of operations to
+ * ioremap performs a platform specific sequence of operations to
  * make bus memory CPU accessible via the readb/readw/readl/writeb/
  * writew/writel functions and the other mmio helpers. The returned
  * address is not guaranteed to be usable directly as a virtual
@@ -300,7 +300,7 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
  *
  * Must be freed with iounmap.
  */
-void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
+void __iomem *ioremap(resource_size_t phys_addr, unsigned long size)
 {
 	/*
 	 * Ideally, this should be:
@@ -315,7 +315,7 @@ void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
 	return __ioremap_caller(phys_addr, size, pcm,
 				__builtin_return_address(0), false);
 }
-EXPORT_SYMBOL(ioremap_nocache);
+EXPORT_SYMBOL(ioremap);
 
 /**
  * ioremap_uc     -   map bus memory into CPU space as strongly uncachable
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 0d09cc5aad61..1b99ad05b117 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -1784,7 +1784,7 @@ static inline int cpa_clear_pages_array(struct page **pages, int numpages,
 int _set_memory_uc(unsigned long addr, int numpages)
 {
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 * If you really need strong UC use ioremap_uc(), but note
 	 * that you cannot override IO areas with set_memory_*() as
 	 * these helpers cannot work with IO memory.
@@ -1799,7 +1799,7 @@ int set_memory_uc(unsigned long addr, int numpages)
 	int ret;
 
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 */
 	ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
 			      _PAGE_CACHE_MODE_UC_MINUS, NULL);
-- 
2.20.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Arnd Bergmann <arnd@arndb.de>, Guo Ren <guoren@kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	x86@kernel.org
Cc: linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-sh@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, linux-mips@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	openrisc@lists.librecores.org, linux-mtd@lists.infradead.org,
	linux-alpha@vger.kernel.org, sparclinux@vger.kernel.org,
	nios2-dev@lists.rocketboards.org,
	linux-riscv@lists.infradead.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/21] x86: clean up ioremap
Date: Thu, 17 Oct 2019 19:45:41 +0200	[thread overview]
Message-ID: <20191017174554.29840-9-hch@lst.de> (raw)
In-Reply-To: <20191017174554.29840-1-hch@lst.de>

Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/x86/include/asm/io.h | 8 ++------
 arch/x86/mm/ioremap.c     | 8 ++++----
 arch/x86/mm/pageattr.c    | 4 ++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6bed97ff6db2..6b5cc41319a7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -180,8 +180,6 @@ static inline unsigned int isa_virt_to_bus(volatile void *address)
  * The default ioremap() behavior is non-cached; if you need something
  * else, you probably want one of the following.
  */
-extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
-#define ioremap_nocache ioremap_nocache
 extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
 #define ioremap_uc ioremap_uc
 extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
@@ -205,11 +203,9 @@ extern void __iomem *ioremap_encrypted(resource_size_t phys_addr, unsigned long
  * If the area you are trying to map is a PCI BAR you should have a
  * look at pci_iomap().
  */
-static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
-{
-	return ioremap_nocache(offset, size);
-}
+void __iomem *ioremap(resource_size_t offset, unsigned long size);
 #define ioremap ioremap
+#define ioremap_nocache ioremap
 
 extern void iounmap(volatile void __iomem *addr);
 #define iounmap iounmap
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a39dcdb5ae34..7985233dfb8d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -280,11 +280,11 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 }
 
 /**
- * ioremap_nocache     -   map bus memory into CPU space
+ * ioremap     -   map bus memory into CPU space
  * @phys_addr:    bus address of the memory
  * @size:      size of the resource to map
  *
- * ioremap_nocache performs a platform specific sequence of operations to
+ * ioremap performs a platform specific sequence of operations to
  * make bus memory CPU accessible via the readb/readw/readl/writeb/
  * writew/writel functions and the other mmio helpers. The returned
  * address is not guaranteed to be usable directly as a virtual
@@ -300,7 +300,7 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
  *
  * Must be freed with iounmap.
  */
-void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
+void __iomem *ioremap(resource_size_t phys_addr, unsigned long size)
 {
 	/*
 	 * Ideally, this should be:
@@ -315,7 +315,7 @@ void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
 	return __ioremap_caller(phys_addr, size, pcm,
 				__builtin_return_address(0), false);
 }
-EXPORT_SYMBOL(ioremap_nocache);
+EXPORT_SYMBOL(ioremap);
 
 /**
  * ioremap_uc     -   map bus memory into CPU space as strongly uncachable
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 0d09cc5aad61..1b99ad05b117 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -1784,7 +1784,7 @@ static inline int cpa_clear_pages_array(struct page **pages, int numpages,
 int _set_memory_uc(unsigned long addr, int numpages)
 {
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 * If you really need strong UC use ioremap_uc(), but note
 	 * that you cannot override IO areas with set_memory_*() as
 	 * these helpers cannot work with IO memory.
@@ -1799,7 +1799,7 @@ int set_memory_uc(unsigned long addr, int numpages)
 	int ret;
 
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 */
 	ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
 			      _PAGE_CACHE_MODE_UC_MINUS, NULL);
-- 
2.20.1


_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Arnd Bergmann <arnd@arndb.de>, Guo Ren <guoren@kernel.org>,
	Michal Simek <monstr@monstr.eu>,
	Greentime Hu <green.hu@gmail.com>,
	Vincent Chen <deanbo422@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	x86@kernel.org
Cc: linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-sh@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, linux-mips@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	openrisc@lists.librecores.org, linux-mtd@lists.infradead.org,
	linux-alpha@vger.kernel.org, sparclinux@vger.kernel.org,
	nios2-dev@lists.rocketboards.org,
	linux-riscv@lists.infradead.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/21] x86: clean up ioremap
Date: Thu, 17 Oct 2019 19:45:41 +0200	[thread overview]
Message-ID: <20191017174554.29840-9-hch@lst.de> (raw)
In-Reply-To: <20191017174554.29840-1-hch@lst.de>

Use ioremap as the main implemented function, and defined
ioremap_nocache to it as a deprecated alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 arch/x86/include/asm/io.h | 8 ++------
 arch/x86/mm/ioremap.c     | 8 ++++----
 arch/x86/mm/pageattr.c    | 4 ++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6bed97ff6db2..6b5cc41319a7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -180,8 +180,6 @@ static inline unsigned int isa_virt_to_bus(volatile void *address)
  * The default ioremap() behavior is non-cached; if you need something
  * else, you probably want one of the following.
  */
-extern void __iomem *ioremap_nocache(resource_size_t offset, unsigned long size);
-#define ioremap_nocache ioremap_nocache
 extern void __iomem *ioremap_uc(resource_size_t offset, unsigned long size);
 #define ioremap_uc ioremap_uc
 extern void __iomem *ioremap_cache(resource_size_t offset, unsigned long size);
@@ -205,11 +203,9 @@ extern void __iomem *ioremap_encrypted(resource_size_t phys_addr, unsigned long
  * If the area you are trying to map is a PCI BAR you should have a
  * look at pci_iomap().
  */
-static inline void __iomem *ioremap(resource_size_t offset, unsigned long size)
-{
-	return ioremap_nocache(offset, size);
-}
+void __iomem *ioremap(resource_size_t offset, unsigned long size);
 #define ioremap ioremap
+#define ioremap_nocache ioremap
 
 extern void iounmap(volatile void __iomem *addr);
 #define iounmap iounmap
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a39dcdb5ae34..7985233dfb8d 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -280,11 +280,11 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
 }
 
 /**
- * ioremap_nocache     -   map bus memory into CPU space
+ * ioremap     -   map bus memory into CPU space
  * @phys_addr:    bus address of the memory
  * @size:      size of the resource to map
  *
- * ioremap_nocache performs a platform specific sequence of operations to
+ * ioremap performs a platform specific sequence of operations to
  * make bus memory CPU accessible via the readb/readw/readl/writeb/
  * writew/writel functions and the other mmio helpers. The returned
  * address is not guaranteed to be usable directly as a virtual
@@ -300,7 +300,7 @@ __ioremap_caller(resource_size_t phys_addr, unsigned long size,
  *
  * Must be freed with iounmap.
  */
-void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
+void __iomem *ioremap(resource_size_t phys_addr, unsigned long size)
 {
 	/*
 	 * Ideally, this should be:
@@ -315,7 +315,7 @@ void __iomem *ioremap_nocache(resource_size_t phys_addr, unsigned long size)
 	return __ioremap_caller(phys_addr, size, pcm,
 				__builtin_return_address(0), false);
 }
-EXPORT_SYMBOL(ioremap_nocache);
+EXPORT_SYMBOL(ioremap);
 
 /**
  * ioremap_uc     -   map bus memory into CPU space as strongly uncachable
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 0d09cc5aad61..1b99ad05b117 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -1784,7 +1784,7 @@ static inline int cpa_clear_pages_array(struct page **pages, int numpages,
 int _set_memory_uc(unsigned long addr, int numpages)
 {
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 * If you really need strong UC use ioremap_uc(), but note
 	 * that you cannot override IO areas with set_memory_*() as
 	 * these helpers cannot work with IO memory.
@@ -1799,7 +1799,7 @@ int set_memory_uc(unsigned long addr, int numpages)
 	int ret;
 
 	/*
-	 * for now UC MINUS. see comments in ioremap_nocache()
+	 * for now UC MINUS. see comments in ioremap()
 	 */
 	ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
 			      _PAGE_CACHE_MODE_UC_MINUS, NULL);
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-10-17 17:45 UTC|newest]

Thread overview: 557+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-17 17:45 generic ioremap (and lots of cleanups) v2 Christoph Hellwig
2019-10-17 17:45 ` Christoph Hellwig
2019-10-17 17:45 ` Christoph Hellwig
2019-10-17 17:45 ` Christoph Hellwig
2019-10-17 17:45 ` Christoph Hellwig
2019-10-17 17:45 ` Christoph Hellwig
2019-10-17 17:45 ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 01/21] arm: remove ioremap_cached Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 02/21] unicore32: " Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 03/21] ia64: rename ioremap_nocache to ioremap_uc Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-21  8:47   ` Sergei Shtylyov
2019-10-21  8:47     ` [OpenRISC] " Sergei Shtylyov
2019-10-21  8:47     ` Sergei Shtylyov
2019-10-21  8:47     ` Sergei Shtylyov
2019-10-21  8:47     ` Sergei Shtylyov
2019-10-21  8:47     ` Sergei Shtylyov
2019-10-21  8:47     ` Sergei Shtylyov
2019-10-17 17:45 ` [PATCH 04/21] hexagon: clean up ioremap Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 05/21] alpha: remove the unused __ioremap wrapper Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 06/21] nios2: remove __ioremap Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 07/21] parisc: " Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 21:35   ` Rolf Eike Beer
2019-10-17 21:35     ` Rolf Eike Beer
2019-10-17 21:35     ` Rolf Eike Beer
2019-10-17 21:35     ` Rolf Eike Beer
2019-10-17 21:35     ` Rolf Eike Beer
2019-10-17 21:35     ` Rolf Eike Beer
2019-10-17 17:45 ` Christoph Hellwig [this message]
2019-10-17 17:45   ` [PATCH 08/21] x86: clean up ioremap Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-21  8:23   ` Thomas Gleixner
2019-10-21  8:23     ` [OpenRISC] " Thomas Gleixner
2019-10-21  8:23     ` Thomas Gleixner
2019-10-21  8:23     ` Thomas Gleixner
2019-10-21  8:23     ` Thomas Gleixner
2019-10-21  8:23     ` Thomas Gleixner
2019-10-21  8:23     ` Thomas Gleixner
2019-10-28 15:29     ` Christoph Hellwig
2019-10-28 15:29       ` [OpenRISC] " Christoph Hellwig
2019-10-28 15:29       ` Christoph Hellwig
2019-10-28 15:29       ` Christoph Hellwig
2019-10-28 15:29       ` Christoph Hellwig
2019-10-28 15:29       ` Christoph Hellwig
2019-10-28 15:29       ` Christoph Hellwig
2019-10-28 15:29       ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 09/21] xtensa: " Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 10/21] asm-generic: ioremap_uc should behave the same with and without MMU Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 11/21] asm-generic: don't provide ioremap for CONFIG_MMU Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 12/21] arch: rely on asm-generic/io.h for default ioremap_* definitions Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 13/21] m68k: rename __iounmap and mark it static Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-18  7:30   ` Geert Uytterhoeven
2019-10-18  7:30     ` Geert Uytterhoeven
2019-10-18  7:30     ` Geert Uytterhoeven
2019-10-18  7:30     ` Geert Uytterhoeven
2019-10-18  7:30     ` Geert Uytterhoeven
2019-10-18  7:30     ` Geert Uytterhoeven
2019-10-18  7:30     ` Geert Uytterhoeven
2019-10-17 17:45 ` [PATCH 14/21] hexagon: remove __iounmap Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 15/21] nios2: " Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 16/21] sh: " Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 17/21] lib: provide a simple generic ioremap implementation Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 18/21] riscv: use the generic ioremap code Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-18  3:42   ` Paul Walmsley
2019-10-18  3:42     ` Paul Walmsley
2019-10-18  3:42     ` Paul Walmsley
2019-10-18  3:42     ` Paul Walmsley
2019-10-18  3:42     ` Paul Walmsley
2019-10-18  3:42     ` Paul Walmsley
2019-10-18  3:42     ` Paul Walmsley
2019-10-17 17:45 ` [PATCH 19/21] nds32: use generic ioremap Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 20/21] csky: remove ioremap_cache Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-21  7:58   ` Guo Ren
2019-10-21  7:58     ` [OpenRISC] " Guo Ren
2019-10-21  7:58     ` Guo Ren
2019-10-21  7:58     ` Guo Ren
2019-10-21  7:58     ` Guo Ren
2019-10-21  7:58     ` Guo Ren
2019-10-21  7:58     ` Guo Ren
2019-11-05  1:26     ` Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-11-05  1:26       ` [OpenRISC] " Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-11-05  1:26       ` Christoph Hellwig
2019-10-17 17:45 ` [PATCH 21/21] csky: use generic ioremap Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-17 17:45   ` Christoph Hellwig
2019-10-29  6:48 ` generic ioremap (and lots of cleanups) v3 Christoph Hellwig
2019-10-29  6:48   ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48   ` Christoph Hellwig
2019-10-29  6:48   ` Christoph Hellwig
2019-10-29  6:48   ` Christoph Hellwig
2019-10-29  6:48   ` Christoph Hellwig
2019-10-29  6:48   ` Christoph Hellwig
2019-10-29  6:48   ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 01/21] arm: remove ioremap_cached Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-11 10:33     ` Arnd Bergmann
2019-11-11 10:33       ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-11-11 10:33       ` Arnd Bergmann
2019-10-29  6:48   ` [PATCH 02/21] unicore32: " Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 03/21] ia64: rename ioremap_nocache to ioremap_uc Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-11 10:36     ` Arnd Bergmann
2019-11-11 10:36       ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-11-11 10:36       ` Arnd Bergmann
2019-10-29  6:48   ` [PATCH 04/21] hexagon: clean up ioremap Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 05/21] alpha: remove the unused __ioremap wrapper Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 06/21] nios2: remove __ioremap Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 07/21] parisc: " Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-05 14:29     ` Helge Deller
2019-11-05 14:29       ` [OpenRISC] " Helge Deller
2019-11-05 14:29       ` Helge Deller
2019-11-05 14:29       ` Helge Deller
2019-11-05 14:29       ` Helge Deller
2019-11-05 14:29       ` Helge Deller
2019-11-05 14:29       ` Helge Deller
2019-11-05 14:29       ` Helge Deller
2019-10-29  6:48   ` [PATCH 08/21] x86: Clean up ioremap() Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-30 10:39     ` Thomas Gleixner
2019-10-30 10:39       ` [OpenRISC] " Thomas Gleixner
2019-10-30 10:39       ` Thomas Gleixner
2019-10-30 10:39       ` Thomas Gleixner
2019-10-30 10:39       ` Thomas Gleixner
2019-10-30 10:39       ` Thomas Gleixner
2019-10-30 10:39       ` Thomas Gleixner
2019-10-29  6:48   ` [PATCH 09/21] xtensa: clean up ioremap Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 10/21] asm-generic: ioremap_uc should behave the same with and without MMU Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-06 17:56     ` Palmer Dabbelt
2019-11-06 17:56       ` [OpenRISC] " Palmer Dabbelt
2019-11-06 17:56       ` Palmer Dabbelt
2019-11-06 17:56       ` Palmer Dabbelt
2019-11-06 17:56       ` Palmer Dabbelt
2019-11-06 17:56       ` Palmer Dabbelt
2019-11-06 17:56       ` Palmer Dabbelt
2019-11-11 10:09     ` Arnd Bergmann
2019-11-11 10:09       ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:09       ` Arnd Bergmann
2019-11-11 10:15       ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` [OpenRISC] " Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:15         ` Christoph Hellwig
2019-11-11 10:27         ` Arnd Bergmann
2019-11-11 10:27           ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:27           ` Arnd Bergmann
2019-11-11 10:29           ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` [OpenRISC] " Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 10:29             ` Christoph Hellwig
2019-11-11 19:33             ` Arnd Bergmann
2019-11-11 19:33               ` [OpenRISC] " Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-11-11 19:33               ` Arnd Bergmann
2019-10-29  6:48   ` [PATCH 11/21] asm-generic: don't provide ioremap for CONFIG_MMU Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-06 18:11     ` Palmer Dabbelt
2019-11-06 18:11       ` [OpenRISC] " Palmer Dabbelt
2019-11-06 18:11       ` Palmer Dabbelt
2019-11-06 18:11       ` Palmer Dabbelt
2019-11-06 18:11       ` Palmer Dabbelt
2019-11-06 18:11       ` Palmer Dabbelt
2019-11-06 18:11       ` Palmer Dabbelt
2019-11-06 18:16       ` Geert Uytterhoeven
2019-11-06 18:16         ` [OpenRISC] " Geert Uytterhoeven
2019-11-06 18:16         ` Geert Uytterhoeven
2019-11-06 18:16         ` Geert Uytterhoeven
2019-11-06 18:16         ` Geert Uytterhoeven
2019-11-06 18:16         ` Geert Uytterhoeven
2019-11-06 18:16         ` Geert Uytterhoeven
2019-11-06 18:16         ` Geert Uytterhoeven
2019-11-06 18:28         ` Christoph Hellwig
2019-11-06 18:28           ` [OpenRISC] " Christoph Hellwig
2019-11-06 18:28           ` Christoph Hellwig
2019-11-06 18:28           ` Christoph Hellwig
2019-11-06 18:28           ` Christoph Hellwig
2019-11-06 18:28           ` Christoph Hellwig
2019-11-06 18:28           ` Christoph Hellwig
2019-11-06 18:28           ` Christoph Hellwig
2019-11-11 10:31         ` Arnd Bergmann
2019-11-11 10:31           ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:31           ` Arnd Bergmann
2019-11-11 10:29     ` Arnd Bergmann
2019-11-11 10:29       ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-11-11 10:29       ` Arnd Bergmann
2019-10-29  6:48   ` [PATCH 12/21] arch: rely on asm-generic/io.h for default ioremap_* definitions Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-07 15:29     ` Palmer Dabbelt
2019-11-07 15:29       ` [OpenRISC] " Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-11 10:10     ` Arnd Bergmann
2019-11-11 10:10       ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-10-29  6:48   ` [PATCH 13/21] m68k: rename __iounmap and mark it static Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-30  8:51     ` Geert Uytterhoeven
2019-10-30  8:51       ` [OpenRISC] " Geert Uytterhoeven
2019-10-30  8:51       ` Geert Uytterhoeven
2019-10-30  8:51       ` Geert Uytterhoeven
2019-10-30  8:51       ` Geert Uytterhoeven
2019-10-30  8:51       ` Geert Uytterhoeven
2019-10-30  8:51       ` Geert Uytterhoeven
2019-10-30  8:51       ` Geert Uytterhoeven
2019-10-29  6:48   ` [PATCH 14/21] hexagon: remove __iounmap Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 15/21] nios2: " Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 16/21] sh: " Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 17/21] lib: provide a simple generic ioremap implementation Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-07 15:29     ` Palmer Dabbelt
2019-11-07 15:29       ` [OpenRISC] " Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-07 15:29       ` Palmer Dabbelt
2019-11-11 10:10     ` Arnd Bergmann
2019-11-11 10:10       ` [OpenRISC] " Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-11-11 10:10       ` Arnd Bergmann
2019-10-29  6:48   ` [PATCH 18/21] riscv: use the generic ioremap code Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 19/21] nds32: use generic ioremap Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-12  8:51     ` Greentime Hu
2019-11-12  8:51       ` [OpenRISC] " Greentime Hu
2019-11-12  8:51       ` Greentime Hu
2019-11-12  8:51       ` Greentime Hu
2019-11-12  8:51       ` Greentime Hu
2019-11-12  8:51       ` Greentime Hu
2019-11-12  8:51       ` Greentime Hu
2019-11-12  8:51       ` Greentime Hu
2019-10-29  6:48   ` [PATCH 20/21] csky: remove ioremap_cache Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48   ` [PATCH 21/21] csky: use generic ioremap Christoph Hellwig
2019-10-29  6:48     ` [OpenRISC] " Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-10-29  6:48     ` Christoph Hellwig
2019-11-05  1:31   ` generic ioremap (and lots of cleanups) v3 Christoph Hellwig
2019-11-05  1:31     ` [OpenRISC] " Christoph Hellwig
2019-11-05  1:31     ` Christoph Hellwig
2019-11-05  1:31     ` Christoph Hellwig
2019-11-05  1:31     ` Christoph Hellwig
2019-11-05  1:31     ` Christoph Hellwig
2019-11-05  1:31     ` Christoph Hellwig
2019-11-07 20:47   ` generic-iomap tree for linux-next Christoph Hellwig
2019-11-07 20:47     ` [OpenRISC] " Christoph Hellwig
2019-11-07 20:47     ` Christoph Hellwig
2019-11-07 20:47     ` Christoph Hellwig
2019-11-08  2:20     ` Stephen Rothwell
2019-11-08  2:20       ` [OpenRISC] " Stephen Rothwell
2019-11-08  2:20       ` Stephen Rothwell
2019-11-08  2:20       ` Stephen Rothwell
2019-11-08  2:20       ` Stephen Rothwell
2019-11-08  2:20       ` Stephen Rothwell
2019-11-08  2:20       ` Stephen Rothwell
2019-11-08  4:52       ` Stephen Rothwell
2019-11-08  4:52         ` [OpenRISC] " Stephen Rothwell
2019-11-08  4:52         ` Stephen Rothwell
2019-11-08  4:52         ` Stephen Rothwell
2019-11-08  4:52         ` Stephen Rothwell
2019-11-08  4:52         ` Stephen Rothwell
2019-11-08  4:52         ` Stephen Rothwell
2019-11-08  5:14         ` Christoph Hellwig
2019-11-08  5:14           ` [OpenRISC] " Christoph Hellwig
2019-11-08  5:14           ` Christoph Hellwig
2019-11-08  5:14           ` Christoph Hellwig
2019-11-08  5:14           ` Christoph Hellwig
2019-11-08  5:14           ` Christoph Hellwig
2019-11-08  5:14           ` Christoph Hellwig
2019-11-08  5:14           ` Christoph Hellwig

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=20191017174554.29840-9-hch@lst.de \
    --to=hch@lst.de \
    --cc=arnd@arndb.de \
    --cc=deanbo422@gmail.com \
    --cc=green.hu@gmail.com \
    --cc=guoren@kernel.org \
    --cc=gxt@pku.edu.cn \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=monstr@monstr.eu \
    --cc=nios2-dev@lists.rocketboards.org \
    --cc=openrisc@lists.librecores.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=x86@kernel.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.