Skip to content

Commit

Permalink
basic_mmio_gpio: convert to non-__raw* accessors
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jamie Iles authored and Grant Likely committed May 20, 2011
1 parent 3102911 commit fd99623
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions drivers/gpio/basic_mmio_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */

Expand Down

0 comments on commit fd99623

Please sign in to comment.