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

Commit fd996235 authored by Jamie Iles's avatar Jamie Iles Committed by Grant Likely
Browse files

basic_mmio_gpio: convert to non-__raw* accessors



The __raw_* accessors don't include memory barriers and can cause
problems when writes get stuck in write buffers.

Suggested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Acked-by: default avatarAnton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 31029116
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -101,43 +101,43 @@ static struct bgpio_chip *to_bgpio_chip(struct gpio_chip *gc)

static void bgpio_write8(void __iomem *reg, unsigned long data)
{
	__raw_writeb(data, reg);
	writeb(data, reg);
}

static unsigned long bgpio_read8(void __iomem *reg)
{
	return __raw_readb(reg);
	return readb(reg);
}

static void bgpio_write16(void __iomem *reg, unsigned long data)
{
	__raw_writew(data, reg);
	writew(data, reg);
}

static unsigned long bgpio_read16(void __iomem *reg)
{
	return __raw_readw(reg);
	return readw(reg);
}

static void bgpio_write32(void __iomem *reg, unsigned long data)
{
	__raw_writel(data, reg);
	writel(data, reg);
}

static unsigned long bgpio_read32(void __iomem *reg)
{
	return __raw_readl(reg);
	return readl(reg);
}

#if BITS_PER_LONG >= 64
static void bgpio_write64(void __iomem *reg, unsigned long data)
{
	__raw_writeq(data, reg);
	writeq(data, reg);
}

static unsigned long bgpio_read64(void __iomem *reg)
{
	return __raw_readq(reg);
	return readq(reg);
}
#endif /* BITS_PER_LONG >= 64 */