The __raw_* accessors don't include memory barriers and can cause
problems when writes get stuck in write buffers.
Suggested-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
static void bgpio_write8(void __iomem *reg, unsigned long data)
{
static void bgpio_write8(void __iomem *reg, unsigned long data)
{
- __raw_writeb(data, reg);
}
static unsigned long bgpio_read8(void __iomem *reg)
{
}
static unsigned long bgpio_read8(void __iomem *reg)
{
- return __raw_readb(reg);
}
static void bgpio_write16(void __iomem *reg, unsigned long data)
{
}
static void bgpio_write16(void __iomem *reg, unsigned long data)
{
- __raw_writew(data, reg);
}
static unsigned long bgpio_read16(void __iomem *reg)
{
}
static unsigned long bgpio_read16(void __iomem *reg)
{
- return __raw_readw(reg);
}
static void bgpio_write32(void __iomem *reg, unsigned long data)
{
}
static void bgpio_write32(void __iomem *reg, unsigned long data)
{
- __raw_writel(data, reg);
}
static unsigned long bgpio_read32(void __iomem *reg)
{
}
static unsigned long bgpio_read32(void __iomem *reg)
{
- return __raw_readl(reg);
}
#if BITS_PER_LONG >= 64
static void bgpio_write64(void __iomem *reg, unsigned long data)
{
}
#if BITS_PER_LONG >= 64
static void bgpio_write64(void __iomem *reg, unsigned long data)
{
- __raw_writeq(data, reg);
}
static unsigned long bgpio_read64(void __iomem *reg)
{
}
static unsigned long bgpio_read64(void __iomem *reg)
{
- return __raw_readq(reg);
}
#endif /* BITS_PER_LONG >= 64 */
}
#endif /* BITS_PER_LONG >= 64 */