diff options
Diffstat (limited to 'drivers/net/wireless/cw1200/hwio.h')
-rw-r--r-- | drivers/net/wireless/cw1200/hwio.h | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/drivers/net/wireless/cw1200/hwio.h b/drivers/net/wireless/cw1200/hwio.h index 563329cfead6..ddf52669dc5b 100644 --- a/drivers/net/wireless/cw1200/hwio.h +++ b/drivers/net/wireless/cw1200/hwio.h | |||
@@ -169,35 +169,34 @@ int cw1200_reg_write(struct cw1200_common *priv, u16 addr, | |||
169 | static inline int cw1200_reg_read_16(struct cw1200_common *priv, | 169 | static inline int cw1200_reg_read_16(struct cw1200_common *priv, |
170 | u16 addr, u16 *val) | 170 | u16 addr, u16 *val) |
171 | { | 171 | { |
172 | u32 tmp; | 172 | __le32 tmp; |
173 | int i; | 173 | int i; |
174 | i = cw1200_reg_read(priv, addr, &tmp, sizeof(tmp)); | 174 | i = cw1200_reg_read(priv, addr, &tmp, sizeof(tmp)); |
175 | tmp = le32_to_cpu(tmp); | 175 | *val = le32_to_cpu(tmp) & 0xfffff; |
176 | *val = tmp & 0xffff; | ||
177 | return i; | 176 | return i; |
178 | } | 177 | } |
179 | 178 | ||
180 | static inline int cw1200_reg_write_16(struct cw1200_common *priv, | 179 | static inline int cw1200_reg_write_16(struct cw1200_common *priv, |
181 | u16 addr, u16 val) | 180 | u16 addr, u16 val) |
182 | { | 181 | { |
183 | u32 tmp = val; | 182 | __le32 tmp = cpu_to_le32((u32)val); |
184 | tmp = cpu_to_le32(tmp); | ||
185 | return cw1200_reg_write(priv, addr, &tmp, sizeof(tmp)); | 183 | return cw1200_reg_write(priv, addr, &tmp, sizeof(tmp)); |
186 | } | 184 | } |
187 | 185 | ||
188 | static inline int cw1200_reg_read_32(struct cw1200_common *priv, | 186 | static inline int cw1200_reg_read_32(struct cw1200_common *priv, |
189 | u16 addr, u32 *val) | 187 | u16 addr, u32 *val) |
190 | { | 188 | { |
191 | int i = cw1200_reg_read(priv, addr, val, sizeof(*val)); | 189 | __le32 tmp; |
192 | *val = le32_to_cpu(*val); | 190 | int i = cw1200_reg_read(priv, addr, &tmp, sizeof(tmp)); |
191 | *val = le32_to_cpu(tmp); | ||
193 | return i; | 192 | return i; |
194 | } | 193 | } |
195 | 194 | ||
196 | static inline int cw1200_reg_write_32(struct cw1200_common *priv, | 195 | static inline int cw1200_reg_write_32(struct cw1200_common *priv, |
197 | u16 addr, u32 val) | 196 | u16 addr, u32 val) |
198 | { | 197 | { |
199 | val = cpu_to_le32(val); | 198 | __le32 tmp = cpu_to_le32(val); |
200 | return cw1200_reg_write(priv, addr, &val, sizeof(val)); | 199 | return cw1200_reg_write(priv, addr, &tmp, sizeof(val)); |
201 | } | 200 | } |
202 | 201 | ||
203 | int cw1200_indirect_read(struct cw1200_common *priv, u32 addr, void *buf, | 202 | int cw1200_indirect_read(struct cw1200_common *priv, u32 addr, void *buf, |
@@ -224,22 +223,24 @@ static inline int cw1200_ahb_read(struct cw1200_common *priv, u32 addr, | |||
224 | static inline int cw1200_apb_read_32(struct cw1200_common *priv, | 223 | static inline int cw1200_apb_read_32(struct cw1200_common *priv, |
225 | u32 addr, u32 *val) | 224 | u32 addr, u32 *val) |
226 | { | 225 | { |
227 | int i = cw1200_apb_read(priv, addr, val, sizeof(*val)); | 226 | __le32 tmp; |
228 | *val = le32_to_cpu(*val); | 227 | int i = cw1200_apb_read(priv, addr, &tmp, sizeof(tmp)); |
228 | *val = le32_to_cpu(tmp); | ||
229 | return i; | 229 | return i; |
230 | } | 230 | } |
231 | 231 | ||
232 | static inline int cw1200_apb_write_32(struct cw1200_common *priv, | 232 | static inline int cw1200_apb_write_32(struct cw1200_common *priv, |
233 | u32 addr, u32 val) | 233 | u32 addr, u32 val) |
234 | { | 234 | { |
235 | val = cpu_to_le32(val); | 235 | __le32 tmp = cpu_to_le32(val); |
236 | return cw1200_apb_write(priv, addr, &val, sizeof(val)); | 236 | return cw1200_apb_write(priv, addr, &tmp, sizeof(val)); |
237 | } | 237 | } |
238 | static inline int cw1200_ahb_read_32(struct cw1200_common *priv, | 238 | static inline int cw1200_ahb_read_32(struct cw1200_common *priv, |
239 | u32 addr, u32 *val) | 239 | u32 addr, u32 *val) |
240 | { | 240 | { |
241 | int i = cw1200_ahb_read(priv, addr, val, sizeof(*val)); | 241 | __le32 tmp; |
242 | *val = le32_to_cpu(*val); | 242 | int i = cw1200_ahb_read(priv, addr, &tmp, sizeof(tmp)); |
243 | *val = le32_to_cpu(tmp); | ||
243 | return i; | 244 | return i; |
244 | } | 245 | } |
245 | 246 | ||