diff options
author | Kalle Valo <kalle.valo@nokia.com> | 2009-06-12 14:14:55 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 14:57:43 -0400 |
commit | 5262c12d16334a37354c93d606bdb96499f7e5fc (patch) | |
tree | 52ed4e1cf9344aea699e76459ce62db77da1e54f /drivers/net/wireless | |
parent | 56343a3cfdea4d341c7c13d26013024037eae602 (diff) |
wl12xx: allocate buffer the spi busy word from struct wl12xx
Needed for DMA transfers.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/wl12xx/spi.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/spi.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/wl12xx.h | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/wl12xx/spi.c b/drivers/net/wireless/wl12xx/spi.c index 939274291a0..bcdcfbca77b 100644 --- a/drivers/net/wireless/wl12xx/spi.c +++ b/drivers/net/wireless/wl12xx/spi.c @@ -262,10 +262,11 @@ void wl12xx_spi_read(struct wl12xx *wl, int addr, void *buf, { struct spi_transfer t[3]; struct spi_message m; - char busy_buf[TNETWIF_READ_OFFSET_BYTES]; + u8 *busy_buf; u32 *cmd; cmd = &wl->buffer_cmd; + busy_buf = wl->buffer_busyword; *cmd = 0; *cmd |= WSPI_CMD_READ; @@ -281,7 +282,7 @@ void wl12xx_spi_read(struct wl12xx *wl, int addr, void *buf, /* Busy and non busy words read */ t[1].rx_buf = busy_buf; - t[1].len = TNETWIF_READ_OFFSET_BYTES; + t[1].len = WL12XX_BUSY_WORD_LEN; spi_message_add_tail(&t[1], &m); t[2].rx_buf = buf; diff --git a/drivers/net/wireless/wl12xx/spi.h b/drivers/net/wireless/wl12xx/spi.h index 7edb218ee76..1a19557b0b4 100644 --- a/drivers/net/wireless/wl12xx/spi.h +++ b/drivers/net/wireless/wl12xx/spi.h @@ -65,9 +65,8 @@ #define WSPI_INIT_CMD_LEN 8 -#define TNETWIF_READ_OFFSET_BYTES 8 #define HW_ACCESS_WSPI_FIXED_BUSY_LEN \ - ((TNETWIF_READ_OFFSET_BYTES - 4) / sizeof(u32)) + ((WL12XX_BUSY_WORD_LEN - 4) / sizeof(u32)) #define HW_ACCESS_WSPI_INIT_CMD_MASK 0 diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h index 58659356351..b81102098c7 100644 --- a/drivers/net/wireless/wl12xx/wl12xx.h +++ b/drivers/net/wireless/wl12xx/wl12xx.h @@ -105,6 +105,7 @@ enum { CFG_RX_AUTH_EN | \ CFG_RX_ASSOC_EN) +#define WL12XX_BUSY_WORD_LEN 8 struct boot_attr { u32 radio_type; @@ -385,6 +386,7 @@ struct wl12xx { u32 buffer_32; u32 buffer_cmd; + u8 buffer_busyword[WL12XX_BUSY_WORD_LEN]; }; int wl12xx_plt_start(struct wl12xx *wl); |