Skip to content

Commit

Permalink
x86: provide readq()/writeq() on 32-bit too, cleanup
Browse files Browse the repository at this point in the history
Impact: cleanup

Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Ingo Molnar committed Nov 30, 2008
1 parent 2c5643b commit a0b1131
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions arch/x86/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down

0 comments on commit a0b1131

Please sign in to comment.