Re: [PATCH] basic_mmio_gpio: convert to non-__raw* accessors

From: Grant Likely
Date: Tue May 03 2011 - 15:42:53 EST


On Mon, Apr 11, 2011 at 05:11:26PM +0100, Jamie Iles wrote:
> 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@xxxxxxxxxx>
> Cc: Anton Vorontsov <cbouatmailru@xxxxxxxxx>
> Cc: Grant Likely <grant.likely@xxxxxxxxxxxx>
> Signed-off-by: Jamie Iles <jamie@xxxxxxxxxxxxx>

Merged, thanks.

g.

> ---
>
> Note: This patch is based on top of my other series to extend
> basic_mmio_gpio.
>
> drivers/gpio/basic_mmio_gpio.c | 16 ++++++++--------
> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpio/basic_mmio_gpio.c b/drivers/gpio/basic_mmio_gpio.c
> index f4afd96..b2ec45f 100644
> --- a/drivers/gpio/basic_mmio_gpio.c
> +++ b/drivers/gpio/basic_mmio_gpio.c
> @@ -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 */
>
> --
> 1.7.4.2
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/