wl1251: fix ELP_CTRL register accesses when using SDIO
authorGrazvydas Ignotas <notasas@gmail.com>
Thu, 11 Mar 2010 15:44:57 +0000 (17:44 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Mar 2010 19:32:03 +0000 (15:32 -0400)
commit3f9e750d130b4a4d9f8226642b46ed17d8357f40
tree761497200ae8a5c2ca0ac3b7ce9b9e44dde23533
parent3c9cb9c38a1368b1e3f187f23c1a56883ec656c2
wl1251: fix ELP_CTRL register accesses when using SDIO

For some unknown reason ELP_CTRL can't be accesed using
sdio_memcpy_* functions (any attemts to do so result in timeouts):

 wl1251: ERROR sdio write failed (-110)
 wl1251: ERROR sdio read failed (-110)
 wl1251: WARNING WLAN not ready

To fix this, add special IO functions for ELP_CTRL access that are
using sdio_readb/sdio_writeb. Similar handling is done in TI
reference driver from Android code drop.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Cc: Bob Copeland <me@bobcopeland.com>
Acked-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1251.h
drivers/net/wireless/wl12xx/wl1251_io.h
drivers/net/wireless/wl12xx/wl1251_main.c
drivers/net/wireless/wl12xx/wl1251_ps.c
drivers/net/wireless/wl12xx/wl1251_sdio.c