aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalle Valo <kalle.valo@nokia.com>2009-06-12 14:14:28 +0300
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 14:57:42 -0400
commit1d3b8130611bbe50168ad0a12841735c9c235410 (patch)
treebe902a19e94a097e20009aa763593913cb805e0d
parentff25839bf0c99e828c26864a24417a36a6b6a31e (diff)
wl12xx: reserver buffer for read32()/write32() in struct wl12xx
The buffer is needed for DMA safe transfers. Signed-off-by: Kalle Valo <kalle.valo@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/wl12xx/spi.h9
-rw-r--r--drivers/net/wireless/wl12xx/wl12xx.h2
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/wl12xx/spi.h b/drivers/net/wireless/wl12xx/spi.h
index fd3227e904a..f3f18958657 100644
--- a/drivers/net/wireless/wl12xx/spi.h
+++ b/drivers/net/wireless/wl12xx/spi.h
@@ -94,16 +94,15 @@ void wl12xx_set_partition(struct wl12xx *wl,
static inline u32 wl12xx_read32(struct wl12xx *wl, int addr)
{
- u32 response;
+ wl12xx_spi_read(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32));
- wl12xx_spi_read(wl, addr, &response, sizeof(u32));
-
- return response;
+ return wl->buffer_32;
}
static inline void wl12xx_write32(struct wl12xx *wl, int addr, u32 val)
{
- wl12xx_spi_write(wl, addr, &val, sizeof(u32));
+ wl->buffer_32 = val;
+ wl12xx_spi_write(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32));
}
#endif /* __WL12XX_SPI_H__ */
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h
index 48641437414..f252a118925 100644
--- a/drivers/net/wireless/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/wl12xx/wl12xx.h
@@ -382,6 +382,8 @@ struct wl12xx {
struct wl12xx_stats stats;
struct wl12xx_debugfs debugfs;
+
+ u32 buffer_32;
};
int wl12xx_plt_start(struct wl12xx *wl);