Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7851aa5 authored by Sinan Kaya's avatar Sinan Kaya Committed by Arnd Bergmann
Browse files

io: change outX() to have their own IO barrier overrides



Open code writeX() inside outX() so that outX() variants have their own
overrideable Port IO barrier combinations as __io_pbw() and __io_paw() for
actions to be taken before port IO and after port IO write.

Signed-off-by: default avatarSinan Kaya <okaya@codeaurora.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 755bd04a
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -457,7 +457,9 @@ static inline u32 inl(unsigned long addr)
#define outb outb
static inline void outb(u8 value, unsigned long addr)
{
	writeb(value, PCI_IOBASE + addr);
	__io_pbw();
	__raw_writeb(value, PCI_IOBASE + addr);
	__io_paw();
}
#endif

@@ -465,7 +467,9 @@ static inline void outb(u8 value, unsigned long addr)
#define outw outw
static inline void outw(u16 value, unsigned long addr)
{
	writew(value, PCI_IOBASE + addr);
	__io_pbw();
	__raw_writew(cpu_to_le16(value), PCI_IOBASE + addr);
	__io_paw();
}
#endif

@@ -473,7 +477,9 @@ static inline void outw(u16 value, unsigned long addr)
#define outl outl
static inline void outl(u32 value, unsigned long addr)
{
	writel(value, PCI_IOBASE + addr);
	__io_pbw();
	__raw_writel(cpu_to_le32(value), PCI_IOBASE + addr);
	__io_paw();
}
#endif