diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-05-20 02:40:17 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-05-20 02:40:17 -0400 |
commit | fd9962352105f19711d55cc2caaf75b2e201598b (patch) | |
tree | cba555da6e000e49390f7b394c58d9136c4cc593 /drivers/gpio | |
parent | 31029116ebc1f2481bd2380437e9f7a18f18dca5 (diff) |
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: 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>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | 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 f4afd96303c1..b2ec45ffe447 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) | |||
101 | 101 | ||
102 | static void bgpio_write8(void __iomem *reg, unsigned long data) | 102 | static void bgpio_write8(void __iomem *reg, unsigned long data) |
103 | { | 103 | { |
104 | __raw_writeb(data, reg); | 104 | writeb(data, reg); |
105 | } | 105 | } |
106 | 106 | ||
107 | static unsigned long bgpio_read8(void __iomem *reg) | 107 | static unsigned long bgpio_read8(void __iomem *reg) |
108 | { | 108 | { |
109 | return __raw_readb(reg); | 109 | return readb(reg); |
110 | } | 110 | } |
111 | 111 | ||
112 | static void bgpio_write16(void __iomem *reg, unsigned long data) | 112 | static void bgpio_write16(void __iomem *reg, unsigned long data) |
113 | { | 113 | { |
114 | __raw_writew(data, reg); | 114 | writew(data, reg); |
115 | } | 115 | } |
116 | 116 | ||
117 | static unsigned long bgpio_read16(void __iomem *reg) | 117 | static unsigned long bgpio_read16(void __iomem *reg) |
118 | { | 118 | { |
119 | return __raw_readw(reg); | 119 | return readw(reg); |
120 | } | 120 | } |
121 | 121 | ||
122 | static void bgpio_write32(void __iomem *reg, unsigned long data) | 122 | static void bgpio_write32(void __iomem *reg, unsigned long data) |
123 | { | 123 | { |
124 | __raw_writel(data, reg); | 124 | writel(data, reg); |
125 | } | 125 | } |
126 | 126 | ||
127 | static unsigned long bgpio_read32(void __iomem *reg) | 127 | static unsigned long bgpio_read32(void __iomem *reg) |
128 | { | 128 | { |
129 | return __raw_readl(reg); | 129 | return readl(reg); |
130 | } | 130 | } |
131 | 131 | ||
132 | #if BITS_PER_LONG >= 64 | 132 | #if BITS_PER_LONG >= 64 |
133 | static void bgpio_write64(void __iomem *reg, unsigned long data) | 133 | static void bgpio_write64(void __iomem *reg, unsigned long data) |
134 | { | 134 | { |
135 | __raw_writeq(data, reg); | 135 | writeq(data, reg); |
136 | } | 136 | } |
137 | 137 | ||
138 | static unsigned long bgpio_read64(void __iomem *reg) | 138 | static unsigned long bgpio_read64(void __iomem *reg) |
139 | { | 139 | { |
140 | return __raw_readq(reg); | 140 | return readq(reg); |
141 | } | 141 | } |
142 | #endif /* BITS_PER_LONG >= 64 */ | 142 | #endif /* BITS_PER_LONG >= 64 */ |
143 | 143 | ||