aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTeemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>2010-02-22 01:38:22 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-03-09 15:02:57 -0500
commit54f7e5037c95f2beff0252bfcf288f711c185799 (patch)
tree2b29eac6bfbbc183649163547929be9852affc2e /drivers
parent2d5e82b8bcda58ec1e2fae5277a81e5fd067e627 (diff)
wl1271: Added functions to enable/disable interrupt handling
Added/moved enable and disable interrupt handling functions. Signed-off-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com> Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_boot.c2
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_io.c10
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_io.h3
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_main.c5
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_spi.c10
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_spi.h3
6 files changed, 27 insertions, 6 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_boot.c b/drivers/net/wireless/wl12xx/wl1271_boot.c
index 2be76ee42bb9..7d6d2e6c467f 100644
--- a/drivers/net/wireless/wl12xx/wl1271_boot.c
+++ b/drivers/net/wireless/wl12xx/wl1271_boot.c
@@ -299,7 +299,7 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl)
299 299
300static void wl1271_boot_enable_interrupts(struct wl1271 *wl) 300static void wl1271_boot_enable_interrupts(struct wl1271 *wl)
301{ 301{
302 enable_irq(wl->irq); 302 wl1271_enable_interrupts(wl);
303 wl1271_write32(wl, ACX_REG_INTERRUPT_MASK, 303 wl1271_write32(wl, ACX_REG_INTERRUPT_MASK,
304 WL1271_ACX_INTR_ALL & ~(WL1271_INTR_MASK)); 304 WL1271_ACX_INTR_ALL & ~(WL1271_INTR_MASK));
305 wl1271_write32(wl, HI_CFG, HI_CFG_DEF_VAL); 305 wl1271_write32(wl, HI_CFG, HI_CFG_DEF_VAL);
diff --git a/drivers/net/wireless/wl12xx/wl1271_io.c b/drivers/net/wireless/wl12xx/wl1271_io.c
index 5cd94d5666c2..b825cfa30ecf 100644
--- a/drivers/net/wireless/wl12xx/wl1271_io.c
+++ b/drivers/net/wireless/wl12xx/wl1271_io.c
@@ -31,6 +31,16 @@
31#include "wl1271_spi.h" 31#include "wl1271_spi.h"
32#include "wl1271_io.h" 32#include "wl1271_io.h"
33 33
34void wl1271_disable_interrupts(struct wl1271 *wl)
35{
36 wl1271_spi_disable_interrupts(wl);
37}
38
39void wl1271_enable_interrupts(struct wl1271 *wl)
40{
41 wl1271_spi_enable_interrupts(wl);
42}
43
34static int wl1271_translate_addr(struct wl1271 *wl, int addr) 44static int wl1271_translate_addr(struct wl1271 *wl, int addr)
35{ 45{
36 /* 46 /*
diff --git a/drivers/net/wireless/wl12xx/wl1271_io.h b/drivers/net/wireless/wl12xx/wl1271_io.h
index 38fce4caf4a1..c8b09718e185 100644
--- a/drivers/net/wireless/wl12xx/wl1271_io.h
+++ b/drivers/net/wireless/wl12xx/wl1271_io.h
@@ -27,6 +27,9 @@
27 27
28struct wl1271; 28struct wl1271;
29 29
30void wl1271_disable_interrupts(struct wl1271 *wl);
31void wl1271_enable_interrupts(struct wl1271 *wl);
32
30void wl1271_io_reset(struct wl1271 *wl); 33void wl1271_io_reset(struct wl1271 *wl);
31void wl1271_io_init(struct wl1271 *wl); 34void wl1271_io_init(struct wl1271 *wl);
32 35
diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c
index 66319aabf263..18347c3a5e19 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -360,11 +360,6 @@ static int wl1271_plt_init(struct wl1271 *wl)
360 return ret; 360 return ret;
361} 361}
362 362
363static void wl1271_disable_interrupts(struct wl1271 *wl)
364{
365 disable_irq(wl->irq);
366}
367
368static void wl1271_power_off(struct wl1271 *wl) 363static void wl1271_power_off(struct wl1271 *wl)
369{ 364{
370 wl->set_power(false); 365 wl->set_power(false);
diff --git a/drivers/net/wireless/wl12xx/wl1271_spi.c b/drivers/net/wireless/wl12xx/wl1271_spi.c
index c26726a06237..b422c9fdcd22 100644
--- a/drivers/net/wireless/wl12xx/wl1271_spi.c
+++ b/drivers/net/wireless/wl12xx/wl1271_spi.c
@@ -34,6 +34,16 @@
34#include "wl1271_io.h" 34#include "wl1271_io.h"
35 35
36 36
37void wl1271_spi_disable_interrupts(struct wl1271 *wl)
38{
39 disable_irq(wl->irq);
40}
41
42void wl1271_spi_enable_interrupts(struct wl1271 *wl)
43{
44 enable_irq(wl->irq);
45}
46
37void wl1271_spi_reset(struct wl1271 *wl) 47void wl1271_spi_reset(struct wl1271 *wl)
38{ 48{
39 u8 *cmd; 49 u8 *cmd;
diff --git a/drivers/net/wireless/wl12xx/wl1271_spi.h b/drivers/net/wireless/wl12xx/wl1271_spi.h
index a803596dad4a..86ff161ef243 100644
--- a/drivers/net/wireless/wl12xx/wl1271_spi.h
+++ b/drivers/net/wireless/wl12xx/wl1271_spi.h
@@ -84,6 +84,9 @@
84#define OCP_STATUS_REQ_FAILED 0x20000 84#define OCP_STATUS_REQ_FAILED 0x20000
85#define OCP_STATUS_RESP_ERROR 0x30000 85#define OCP_STATUS_RESP_ERROR 0x30000
86 86
87void wl1271_spi_disable_interrupts(struct wl1271 *wl);
88void wl1271_spi_enable_interrupts(struct wl1271 *wl);
89
87/* Raw target IO, address is not translated */ 90/* Raw target IO, address is not translated */
88void wl1271_spi_raw_write(struct wl1271 *wl, int addr, void *buf, 91void wl1271_spi_raw_write(struct wl1271 *wl, int addr, void *buf,
89 size_t len, bool fixed); 92 size_t len, bool fixed);