Lines Matching refs:func
47 struct sdio_func *func; member
64 return sdio_memcpy_fromio(self->func, dst, addr, count); in cw1200_sdio_memcpy_fromio()
71 return sdio_memcpy_toio(self->func, addr, (void *)src, count); in cw1200_sdio_memcpy_toio()
76 sdio_claim_host(self->func); in cw1200_sdio_lock()
81 sdio_release_host(self->func); in cw1200_sdio_unlock()
84 static void cw1200_sdio_irq_handler(struct sdio_func *func) in cw1200_sdio_irq_handler() argument
86 struct hwbus_priv *self = sdio_get_drvdata(func); in cw1200_sdio_irq_handler()
117 cccr = sdio_f0_readb(self->func, SDIO_CCCR_IENx, &ret); in cw1200_request_irq()
125 cccr |= BIT(self->func->num); in cw1200_request_irq()
127 sdio_f0_writeb(self->func, cccr, SDIO_CCCR_IENx, &ret); in cw1200_request_irq()
154 sdio_claim_host(self->func); in cw1200_sdio_irq_subscribe()
158 ret = sdio_claim_irq(self->func, cw1200_sdio_irq_handler); in cw1200_sdio_irq_subscribe()
160 sdio_release_host(self->func); in cw1200_sdio_irq_subscribe()
174 sdio_claim_host(self->func); in cw1200_sdio_irq_unsubscribe()
175 ret = sdio_release_irq(self->func); in cw1200_sdio_irq_unsubscribe()
176 sdio_release_host(self->func); in cw1200_sdio_irq_unsubscribe()
246 size = sdio_align_size(self->func, size); in cw1200_sdio_align_size()
270 static int cw1200_sdio_probe(struct sdio_func *func, in cw1200_sdio_probe() argument
279 if (func->num != 0x01) in cw1200_sdio_probe()
288 func->card->quirks |= MMC_QUIRK_LENIENT_FN0; in cw1200_sdio_probe()
291 self->func = func; in cw1200_sdio_probe()
292 sdio_set_drvdata(func, self); in cw1200_sdio_probe()
293 sdio_claim_host(func); in cw1200_sdio_probe()
294 sdio_enable_func(func); in cw1200_sdio_probe()
295 sdio_release_host(func); in cw1200_sdio_probe()
300 self, &func->dev, &self->core, in cw1200_sdio_probe()
307 sdio_claim_host(func); in cw1200_sdio_probe()
308 sdio_disable_func(func); in cw1200_sdio_probe()
309 sdio_release_host(func); in cw1200_sdio_probe()
310 sdio_set_drvdata(func, NULL); in cw1200_sdio_probe()
320 static void cw1200_sdio_disconnect(struct sdio_func *func) in cw1200_sdio_disconnect() argument
322 struct hwbus_priv *self = sdio_get_drvdata(func); in cw1200_sdio_disconnect()
330 sdio_claim_host(func); in cw1200_sdio_disconnect()
331 sdio_disable_func(func); in cw1200_sdio_disconnect()
332 sdio_release_host(func); in cw1200_sdio_disconnect()
333 sdio_set_drvdata(func, NULL); in cw1200_sdio_disconnect()
342 struct sdio_func *func = dev_to_sdio_func(dev); in cw1200_sdio_suspend() local
343 struct hwbus_priv *self = sdio_get_drvdata(func); in cw1200_sdio_suspend()
349 ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); in cw1200_sdio_suspend()