Messages in this thread Patch in this message | | | Date | Sun, 30 Nov 2008 09:37:00 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/1] edac x38: new MC driver module |
| |
* Hitoshi Mitake <h.mitake@gmail.com> wrote:
> On Sat, 29 Nov 2008 19:01:44 +0100 > Sam Ravnborg <sam@ravnborg.org> wrote: > > > I see both rationales and you combine them in your patch - OK. > > > > And the reason why you cannot just add this to > > include/linux/io.h is that not all architectures > > provide a readl()/writel() I assume. > > > Yes, I can't say all architectures provide readl/writel. > And there may be some architecture depended problems, > so I can't decide to add my readq/writeq as architecture independent ones. > > > Feel free to add my Acked-by: to the patch. > > Thanks, I added your Acked-by to new patch.
applied to tip/x86/io, thanks! I also did the small cleanup below.
Ingo
------------> From 458102461ccedc3ab7847132b5db6a53782dc9a8 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Sun, 30 Nov 2008 09:33:55 +0100 Subject: [PATCH] x86: provide readq()/writeq() on 32-bit too, cleanup
Impact: cleanup
Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/include/asm/io.h | 17 +++++++---------- 1 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h index 2594644..3ccfaf6 100644 --- a/arch/x86/include/asm/io.h +++ b/arch/x86/include/asm/io.h @@ -55,21 +55,17 @@ build_mmio_write(__writeq, "q", unsigned long, "r", ) #define __raw_readq __readq #define __raw_writeq writeq -/* Let people know we have them */ -#define readq readq -#define writeq writeq - #else /* CONFIG_X86_32 from here */ static inline __u64 readq(const volatile void __iomem *addr) { const volatile u32 __iomem *p = addr; - u32 l, h; + u32 low, high; - l = readl(p); - h = readl(p + 1); + low = readl(p); + high = readl(p + 1); - return l + ((u64)h << 32); + return low + ((u64)high << 32); } static inline void writeq(__u64 val, volatile void __iomem *addr) @@ -78,11 +74,12 @@ static inline void writeq(__u64 val, volatile void __iomem *addr) writel(val >> 32, addr+4); } +#endif + +/* Let people know that we have them */ #define readq readq #define writeq writeq -#endif - extern int iommu_bio_merge; #ifdef CONFIG_X86_32
| |