diff options
author | Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com> | 2010-02-22 01:38:24 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-09 15:02:58 -0500 |
commit | b42f91ba49ff135392b8f6140e21f85fb0467285 (patch) | |
tree | 8ad4c875518b75d014229f9bfbaa134f45ca9616 /drivers/net/wireless/wl12xx/wl1271_io.c | |
parent | 8197b7118add28f9aaa99c1fb73c0e201c8cde52 (diff) |
wl1271: Inlined IO functions
Changed IO functions to static inline.
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/net/wireless/wl12xx/wl1271_io.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_io.c | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_io.c b/drivers/net/wireless/wl12xx/wl1271_io.c index d00f7ed7f21c..c0826585a497 100644 --- a/drivers/net/wireless/wl12xx/wl1271_io.c +++ b/drivers/net/wireless/wl12xx/wl1271_io.c | |||
@@ -31,11 +31,6 @@ | |||
31 | #include "wl1271_spi.h" | 31 | #include "wl1271_spi.h" |
32 | #include "wl1271_io.h" | 32 | #include "wl1271_io.h" |
33 | 33 | ||
34 | struct device *wl1271_wl_to_dev(struct wl1271 *wl) | ||
35 | { | ||
36 | return wl->if_ops->dev(wl); | ||
37 | } | ||
38 | |||
39 | void wl1271_disable_interrupts(struct wl1271 *wl) | 34 | void wl1271_disable_interrupts(struct wl1271 *wl) |
40 | { | 35 | { |
41 | wl->if_ops->disable_irq(wl); | 36 | wl->if_ops->disable_irq(wl); |
@@ -46,29 +41,6 @@ void wl1271_enable_interrupts(struct wl1271 *wl) | |||
46 | wl->if_ops->enable_irq(wl); | 41 | wl->if_ops->enable_irq(wl); |
47 | } | 42 | } |
48 | 43 | ||
49 | static int wl1271_translate_addr(struct wl1271 *wl, int addr) | ||
50 | { | ||
51 | /* | ||
52 | * To translate, first check to which window of addresses the | ||
53 | * particular address belongs. Then subtract the starting address | ||
54 | * of that window from the address. Then, add offset of the | ||
55 | * translated region. | ||
56 | * | ||
57 | * The translated regions occur next to each other in physical device | ||
58 | * memory, so just add the sizes of the preceeding address regions to | ||
59 | * get the offset to the new region. | ||
60 | * | ||
61 | * Currently, only the two first regions are addressed, and the | ||
62 | * assumption is that all addresses will fall into either of those | ||
63 | * two. | ||
64 | */ | ||
65 | if ((addr >= wl->part.reg.start) && | ||
66 | (addr < wl->part.reg.start + wl->part.reg.size)) | ||
67 | return addr - wl->part.reg.start + wl->part.mem.size; | ||
68 | else | ||
69 | return addr - wl->part.mem.start; | ||
70 | } | ||
71 | |||
72 | /* Set the SPI partitions to access the chip addresses | 44 | /* Set the SPI partitions to access the chip addresses |
73 | * | 45 | * |
74 | * To simplify driver code, a fixed (virtual) memory map is defined for | 46 | * To simplify driver code, a fixed (virtual) memory map is defined for |
@@ -140,48 +112,6 @@ void wl1271_io_init(struct wl1271 *wl) | |||
140 | wl->if_ops->init(wl); | 112 | wl->if_ops->init(wl); |
141 | } | 113 | } |
142 | 114 | ||
143 | void wl1271_raw_write(struct wl1271 *wl, int addr, void *buf, | ||
144 | size_t len, bool fixed) | ||
145 | { | ||
146 | wl->if_ops->write(wl, addr, buf, len, fixed); | ||
147 | } | ||
148 | |||
149 | void wl1271_raw_read(struct wl1271 *wl, int addr, void *buf, | ||
150 | size_t len, bool fixed) | ||
151 | { | ||
152 | wl->if_ops->read(wl, addr, buf, len, fixed); | ||
153 | } | ||
154 | |||
155 | void wl1271_read(struct wl1271 *wl, int addr, void *buf, size_t len, | ||
156 | bool fixed) | ||
157 | { | ||
158 | int physical; | ||
159 | |||
160 | physical = wl1271_translate_addr(wl, addr); | ||
161 | |||
162 | wl1271_raw_read(wl, physical, buf, len, fixed); | ||
163 | } | ||
164 | |||
165 | void wl1271_write(struct wl1271 *wl, int addr, void *buf, size_t len, | ||
166 | bool fixed) | ||
167 | { | ||
168 | int physical; | ||
169 | |||
170 | physical = wl1271_translate_addr(wl, addr); | ||
171 | |||
172 | wl1271_raw_write(wl, physical, buf, len, fixed); | ||
173 | } | ||
174 | |||
175 | u32 wl1271_read32(struct wl1271 *wl, int addr) | ||
176 | { | ||
177 | return wl1271_raw_read32(wl, wl1271_translate_addr(wl, addr)); | ||
178 | } | ||
179 | |||
180 | void wl1271_write32(struct wl1271 *wl, int addr, u32 val) | ||
181 | { | ||
182 | wl1271_raw_write32(wl, wl1271_translate_addr(wl, addr), val); | ||
183 | } | ||
184 | |||
185 | void wl1271_top_reg_write(struct wl1271 *wl, int addr, u16 val) | 115 | void wl1271_top_reg_write(struct wl1271 *wl, int addr, u16 val) |
186 | { | 116 | { |
187 | /* write address >> 1 + 0x30000 to OCP_POR_CTR */ | 117 | /* write address >> 1 + 0x30000 to OCP_POR_CTR */ |