Lines Matching refs:func
24 struct sdio_func *func; member
31 return wl_sdio->func; in wl_to_func()
34 static void wl1251_sdio_interrupt(struct sdio_func *func) in wl1251_sdio_interrupt() argument
36 struct wl1251 *wl = sdio_get_drvdata(func); in wl1251_sdio_interrupt()
55 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_read() local
57 sdio_claim_host(func); in wl1251_sdio_read()
58 ret = sdio_memcpy_fromio(func, buf, addr, len); in wl1251_sdio_read()
61 sdio_release_host(func); in wl1251_sdio_read()
68 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_write() local
70 sdio_claim_host(func); in wl1251_sdio_write()
71 ret = sdio_memcpy_toio(func, addr, buf, len); in wl1251_sdio_write()
74 sdio_release_host(func); in wl1251_sdio_write()
81 struct sdio_func *func = wl_sdio->func; in wl1251_sdio_read_elp() local
89 sdio_claim_host(func); in wl1251_sdio_read_elp()
90 *val = sdio_writeb_readb(func, wl_sdio->elp_val, addr, &ret); in wl1251_sdio_read_elp()
91 sdio_release_host(func); in wl1251_sdio_read_elp()
101 struct sdio_func *func = wl_sdio->func; in wl1251_sdio_write_elp() local
103 sdio_claim_host(func); in wl1251_sdio_write_elp()
104 sdio_writeb(func, val, addr, &ret); in wl1251_sdio_write_elp()
105 sdio_release_host(func); in wl1251_sdio_write_elp()
119 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_enable_irq() local
121 sdio_claim_host(func); in wl1251_sdio_enable_irq()
122 sdio_claim_irq(func, wl1251_sdio_interrupt); in wl1251_sdio_enable_irq()
123 sdio_release_host(func); in wl1251_sdio_enable_irq()
128 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_disable_irq() local
130 sdio_claim_host(func); in wl1251_sdio_disable_irq()
131 sdio_release_irq(func); in wl1251_sdio_disable_irq()
132 sdio_release_host(func); in wl1251_sdio_disable_irq()
157 struct sdio_func *func = wl_to_func(wl); in wl1251_sdio_set_power() local
161 ret = pm_runtime_get_sync(&func->dev); in wl1251_sdio_set_power()
163 pm_runtime_put_sync(&func->dev); in wl1251_sdio_set_power()
167 sdio_claim_host(func); in wl1251_sdio_set_power()
168 sdio_enable_func(func); in wl1251_sdio_set_power()
169 sdio_release_host(func); in wl1251_sdio_set_power()
171 sdio_claim_host(func); in wl1251_sdio_set_power()
172 sdio_disable_func(func); in wl1251_sdio_set_power()
173 sdio_release_host(func); in wl1251_sdio_set_power()
175 ret = pm_runtime_put_sync(&func->dev); in wl1251_sdio_set_power()
193 static int wl1251_sdio_probe(struct sdio_func *func, in wl1251_sdio_probe() argument
201 struct device_node *np = func->dev.of_node; in wl1251_sdio_probe()
215 sdio_claim_host(func); in wl1251_sdio_probe()
216 ret = sdio_enable_func(func); in wl1251_sdio_probe()
220 sdio_set_block_size(func, 512); in wl1251_sdio_probe()
221 sdio_release_host(func); in wl1251_sdio_probe()
223 SET_IEEE80211_DEV(hw, &func->dev); in wl1251_sdio_probe()
224 wl_sdio->func = func; in wl1251_sdio_probe()
266 sdio_set_drvdata(func, wl); in wl1251_sdio_probe()
269 pm_runtime_put_noidle(&func->dev); in wl1251_sdio_probe()
277 sdio_claim_host(func); in wl1251_sdio_probe()
278 sdio_disable_func(func); in wl1251_sdio_probe()
280 sdio_release_host(func); in wl1251_sdio_probe()
287 static void wl1251_sdio_remove(struct sdio_func *func) in wl1251_sdio_remove() argument
289 struct wl1251 *wl = sdio_get_drvdata(func); in wl1251_sdio_remove()
293 pm_runtime_get_noresume(&func->dev); in wl1251_sdio_remove()
300 sdio_claim_host(func); in wl1251_sdio_remove()
301 sdio_release_irq(func); in wl1251_sdio_remove()
302 sdio_disable_func(func); in wl1251_sdio_remove()
303 sdio_release_host(func); in wl1251_sdio_remove()