Skip to content

Commit

Permalink
parisc: Add ioread64_hi_lo() and iowrite64_hi_lo()
Browse files Browse the repository at this point in the history
The kernel test robot reports missing functions. Add them.

hppa-linux-ld: drivers/firmware/arm_scmi/perf.o: in function `scmi_perf_fc_ring_db':
 (.text+0x610): undefined reference to `ioread64_hi_lo'
 (.text+0x63c): undefined reference to `iowrite64_hi_lo'

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Helge Deller <deller@gmx.de>
  • Loading branch information
hdeller committed Oct 15, 2020
1 parent 0b5d9a0 commit f15309d
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions arch/parisc/lib/iomap.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,16 @@ u64 ioread64be(const void __iomem *addr)
return *((u64 *)addr);
}

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

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

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

void iowrite8(u8 datum, void __iomem *addr)
{
if (unlikely(INDIRECT_ADDR(addr))) {
Expand Down Expand Up @@ -409,6 +419,12 @@ void iowrite64be(u64 datum, void __iomem *addr)
}
}

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

/* Repeating interfaces */

void ioread8_rep(const void __iomem *addr, void *dst, unsigned long count)
Expand Down Expand Up @@ -511,13 +527,15 @@ EXPORT_SYMBOL(ioread32);
EXPORT_SYMBOL(ioread32be);
EXPORT_SYMBOL(ioread64);
EXPORT_SYMBOL(ioread64be);
EXPORT_SYMBOL(ioread64_hi_lo);
EXPORT_SYMBOL(iowrite8);
EXPORT_SYMBOL(iowrite16);
EXPORT_SYMBOL(iowrite16be);
EXPORT_SYMBOL(iowrite32);
EXPORT_SYMBOL(iowrite32be);
EXPORT_SYMBOL(iowrite64);
EXPORT_SYMBOL(iowrite64be);
EXPORT_SYMBOL(iowrite64_hi_lo);
EXPORT_SYMBOL(ioread8_rep);
EXPORT_SYMBOL(ioread16_rep);
EXPORT_SYMBOL(ioread32_rep);
Expand Down

0 comments on commit f15309d

Please sign in to comment.