162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/* This file is meant to be include multiple times by other headers */
362306a36Sopenharmony_ci/* last 2 argments are used by platforms/cell/io-workarounds.[ch] */
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciDEF_PCI_AC_RET(readb, u8, (const PCI_IO_ADDR addr), (addr), mem, addr)
662306a36Sopenharmony_ciDEF_PCI_AC_RET(readw, u16, (const PCI_IO_ADDR addr), (addr), mem, addr)
762306a36Sopenharmony_ciDEF_PCI_AC_RET(readl, u32, (const PCI_IO_ADDR addr), (addr), mem, addr)
862306a36Sopenharmony_ciDEF_PCI_AC_RET(readw_be, u16, (const PCI_IO_ADDR addr), (addr), mem, addr)
962306a36Sopenharmony_ciDEF_PCI_AC_RET(readl_be, u32, (const PCI_IO_ADDR addr), (addr), mem, addr)
1062306a36Sopenharmony_ciDEF_PCI_AC_NORET(writeb, (u8 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
1162306a36Sopenharmony_ciDEF_PCI_AC_NORET(writew, (u16 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
1262306a36Sopenharmony_ciDEF_PCI_AC_NORET(writel, (u32 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
1362306a36Sopenharmony_ciDEF_PCI_AC_NORET(writew_be, (u16 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
1462306a36Sopenharmony_ciDEF_PCI_AC_NORET(writel_be, (u32 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#ifdef __powerpc64__
1762306a36Sopenharmony_ciDEF_PCI_AC_RET(readq, u64, (const PCI_IO_ADDR addr), (addr), mem, addr)
1862306a36Sopenharmony_ciDEF_PCI_AC_RET(readq_be, u64, (const PCI_IO_ADDR addr), (addr), mem, addr)
1962306a36Sopenharmony_ciDEF_PCI_AC_NORET(writeq, (u64 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
2062306a36Sopenharmony_ciDEF_PCI_AC_NORET(writeq_be, (u64 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
2162306a36Sopenharmony_ci#endif /* __powerpc64__ */
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciDEF_PCI_AC_RET(inb, u8, (unsigned long port), (port), pio, port)
2462306a36Sopenharmony_ciDEF_PCI_AC_RET(inw, u16, (unsigned long port), (port), pio, port)
2562306a36Sopenharmony_ciDEF_PCI_AC_RET(inl, u32, (unsigned long port), (port), pio, port)
2662306a36Sopenharmony_ciDEF_PCI_AC_NORET(outb, (u8 val, unsigned long port), (val, port), pio, port)
2762306a36Sopenharmony_ciDEF_PCI_AC_NORET(outw, (u16 val, unsigned long port), (val, port), pio, port)
2862306a36Sopenharmony_ciDEF_PCI_AC_NORET(outl, (u32 val, unsigned long port), (val, port), pio, port)
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciDEF_PCI_AC_NORET(readsb, (const PCI_IO_ADDR a, void *b, unsigned long c),
3162306a36Sopenharmony_ci		 (a, b, c), mem, a)
3262306a36Sopenharmony_ciDEF_PCI_AC_NORET(readsw, (const PCI_IO_ADDR a, void *b, unsigned long c),
3362306a36Sopenharmony_ci		 (a, b, c), mem, a)
3462306a36Sopenharmony_ciDEF_PCI_AC_NORET(readsl, (const PCI_IO_ADDR a, void *b, unsigned long c),
3562306a36Sopenharmony_ci		 (a, b, c), mem, a)
3662306a36Sopenharmony_ciDEF_PCI_AC_NORET(writesb, (PCI_IO_ADDR a, const void *b, unsigned long c),
3762306a36Sopenharmony_ci		 (a, b, c), mem, a)
3862306a36Sopenharmony_ciDEF_PCI_AC_NORET(writesw, (PCI_IO_ADDR a, const void *b, unsigned long c),
3962306a36Sopenharmony_ci		 (a, b, c), mem, a)
4062306a36Sopenharmony_ciDEF_PCI_AC_NORET(writesl, (PCI_IO_ADDR a, const void *b, unsigned long c),
4162306a36Sopenharmony_ci		 (a, b, c), mem, a)
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciDEF_PCI_AC_NORET(insb, (unsigned long p, void *b, unsigned long c),
4462306a36Sopenharmony_ci		 (p, b, c), pio, p)
4562306a36Sopenharmony_ciDEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
4662306a36Sopenharmony_ci		 (p, b, c), pio, p)
4762306a36Sopenharmony_ciDEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
4862306a36Sopenharmony_ci		 (p, b, c), pio, p)
4962306a36Sopenharmony_ciDEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
5062306a36Sopenharmony_ci		 (p, b, c), pio, p)
5162306a36Sopenharmony_ciDEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
5262306a36Sopenharmony_ci		 (p, b, c), pio, p)
5362306a36Sopenharmony_ciDEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
5462306a36Sopenharmony_ci		 (p, b, c), pio, p)
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciDEF_PCI_AC_NORET(memset_io, (PCI_IO_ADDR a, int c, unsigned long n),
5762306a36Sopenharmony_ci		 (a, c, n), mem, a)
5862306a36Sopenharmony_ciDEF_PCI_AC_NORET(memcpy_fromio, (void *d, const PCI_IO_ADDR s, unsigned long n),
5962306a36Sopenharmony_ci		 (d, s, n), mem, s)
6062306a36Sopenharmony_ciDEF_PCI_AC_NORET(memcpy_toio, (PCI_IO_ADDR d, const void *s, unsigned long n),
6162306a36Sopenharmony_ci		 (d, s, n), mem, d)
62