Commit 18a1d5e1 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Helge Deller
Browse files

parisc: Add ioread64_lo_hi() and iowrite64_lo_hi()



It's a followup to the previous commit f15309d7 ("parisc: Add
ioread64_hi_lo() and iowrite64_hi_lo()") which does only half of
the job. Add the rest, so we won't get a new kernel test robot
reports.

Fixes: f15309d7 ("parisc: Add ioread64_hi_lo() and iowrite64_hi_lo()")
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent d7da660c
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -346,6 +346,16 @@ u64 ioread64be(const void __iomem *addr)
	return *((u64 *)addr);
}

u64 ioread64_lo_hi(const void __iomem *addr)
{
	u32 low, high;

	low = ioread32(addr);
	high = ioread32(addr + sizeof(u32));

	return low + ((u64)high << 32);
}

u64 ioread64_hi_lo(const void __iomem *addr)
{
	u32 low, high;
@@ -419,6 +429,12 @@ void iowrite64be(u64 datum, void __iomem *addr)
	}
}

void iowrite64_lo_hi(u64 val, void __iomem *addr)
{
	iowrite32(val, addr);
	iowrite32(val >> 32, addr + sizeof(u32));
}

void iowrite64_hi_lo(u64 val, void __iomem *addr)
{
	iowrite32(val >> 32, addr + sizeof(u32));
@@ -530,6 +546,7 @@ EXPORT_SYMBOL(ioread32);
EXPORT_SYMBOL(ioread32be);
EXPORT_SYMBOL(ioread64);
EXPORT_SYMBOL(ioread64be);
EXPORT_SYMBOL(ioread64_lo_hi);
EXPORT_SYMBOL(ioread64_hi_lo);
EXPORT_SYMBOL(iowrite8);
EXPORT_SYMBOL(iowrite16);
@@ -538,6 +555,7 @@ EXPORT_SYMBOL(iowrite32);
EXPORT_SYMBOL(iowrite32be);
EXPORT_SYMBOL(iowrite64);
EXPORT_SYMBOL(iowrite64be);
EXPORT_SYMBOL(iowrite64_lo_hi);
EXPORT_SYMBOL(iowrite64_hi_lo);
EXPORT_SYMBOL(ioread8_rep);
EXPORT_SYMBOL(ioread16_rep);