From: Jonas Bonn <jonas@southpole.se>
To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: Jonas Bonn <jonas@southpole.se>,
vapier@gentoo.org, liqin.chen@sunplusct.com, gxt@mprc.pku.edu.cn
Subject: [PATCH 1/2] asm-generic: add MMU variants of io.h functions
Date: Sat, 2 Jul 2011 17:53:25 +0200 [thread overview]
Message-ID: <1309622006-28343-1-git-send-email-jonas@southpole.se> (raw)
Some of the implementations, in particular the ioremap variants, in
asm-generic/io.h are for systems with an MMU. In order to be able to
use the generic header file for systems with an MMU, this patch wraps
these implementations in checks for CONFIG_MMU.
Tested on OpenRISC.
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Cc: vapier@gentoo.org
Cc: liqin.chen@sunplusct.com
Cc: gxt@mprc.pku.edu.cn
---
I'm not totally certain that this doesn't have implications for the
other architectures, in particular Score which seems to have an MMU yet
uses these ioremap functions anyway... Comments on this would be
appreciated.
Thanks,
Jonas
include/asm-generic/io.h | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h
index e0ffa3d..50f4f43 100644
--- a/include/asm-generic/io.h
+++ b/include/asm-generic/io.h
@@ -307,7 +307,11 @@ static inline void *phys_to_virt(unsigned long address)
/*
* Change "struct page" to physical address.
+ *
+ * This implementation is for the no-MMU case only... if you have an MMU
+ * you'll need to provide your own definitions.
*/
+#ifndef CONFIG_MMU
static inline void __iomem *ioremap(phys_addr_t offset, unsigned long size)
{
return (void __iomem*) (unsigned long)offset;
@@ -326,6 +330,7 @@ static inline void __iomem *ioremap(phys_addr_t offset, unsigned long size)
static inline void iounmap(void *addr)
{
}
+#endif /* CONFIG_MMU */
#ifndef CONFIG_GENERIC_IOMAP
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
@@ -342,7 +347,12 @@ extern void ioport_unmap(void __iomem *p);
#endif /* CONFIG_GENERIC_IOMAP */
#define xlate_dev_kmem_ptr(p) p
+
+#ifdef CONFIG_MMU
+#define xlate_dev_mem_ptr(p) __va(p)
+#else
#define xlate_dev_mem_ptr(p) ((void *) (p))
+#endif
#ifndef virt_to_bus
static inline unsigned long virt_to_bus(volatile void *address)
--
1.7.4.1
next reply other threads:[~2011-07-02 15:53 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-02 15:53 Jonas Bonn [this message]
2011-07-02 15:53 ` [PATCH 2/2] iomap: make IOPORT/PCI mapping functions conditional Jonas Bonn
2011-07-02 19:46 ` Arnd Bergmann
2011-07-02 19:54 ` Jonas Bonn
2011-07-02 20:15 ` Arnd Bergmann
2011-07-02 16:38 ` [PATCH 1/2] asm-generic: add MMU variants of io.h functions Mike Frysinger
2011-07-02 16:47 ` Jonas Bonn
2011-07-02 17:04 ` Mike Frysinger
2011-07-02 17:36 ` [PATCH v2 1/1] " Jonas Bonn
2011-07-02 18:43 ` Mike Frysinger
2011-07-02 19:44 ` Arnd Bergmann
2011-07-04 2:28 ` Guan Xuetao
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=1309622006-28343-1-git-send-email-jonas@southpole.se \
--to=jonas@southpole.se \
--cc=gxt@mprc.pku.edu.cn \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liqin.chen@sunplusct.com \
--cc=vapier@gentoo.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®