Lines Matching refs:func
48 struct sdio_func *func; member
72 return sdio_memcpy_fromio(self->func, dst, addr, count); in cw1200_sdio_memcpy_fromio()
79 return sdio_memcpy_toio(self->func, addr, (void *)src, count); in cw1200_sdio_memcpy_toio()
84 sdio_claim_host(self->func); in cw1200_sdio_lock()
89 sdio_release_host(self->func); in cw1200_sdio_unlock()
92 static void cw1200_sdio_irq_handler(struct sdio_func *func) in cw1200_sdio_irq_handler() argument
94 struct hwbus_priv *self = sdio_get_drvdata(func); in cw1200_sdio_irq_handler()
125 cccr = sdio_f0_readb(self->func, SDIO_CCCR_IENx, &ret); in cw1200_request_irq()
133 cccr |= BIT(self->func->num); in cw1200_request_irq()
135 sdio_f0_writeb(self->func, cccr, SDIO_CCCR_IENx, &ret); in cw1200_request_irq()
162 sdio_claim_host(self->func); in cw1200_sdio_irq_subscribe()
166 ret = sdio_claim_irq(self->func, cw1200_sdio_irq_handler); in cw1200_sdio_irq_subscribe()
168 sdio_release_host(self->func); in cw1200_sdio_irq_subscribe()
182 sdio_claim_host(self->func); in cw1200_sdio_irq_unsubscribe()
183 ret = sdio_release_irq(self->func); in cw1200_sdio_irq_unsubscribe()
184 sdio_release_host(self->func); in cw1200_sdio_irq_unsubscribe()
254 size = sdio_align_size(self->func, size); in cw1200_sdio_align_size()
278 static int cw1200_sdio_probe(struct sdio_func *func, in cw1200_sdio_probe() argument
287 if (func->num != 0x01) in cw1200_sdio_probe()
296 func->card->quirks |= MMC_QUIRK_LENIENT_FN0; in cw1200_sdio_probe()
299 self->func = func; in cw1200_sdio_probe()
300 sdio_set_drvdata(func, self); in cw1200_sdio_probe()
301 sdio_claim_host(func); in cw1200_sdio_probe()
302 sdio_enable_func(func); in cw1200_sdio_probe()
303 sdio_release_host(func); in cw1200_sdio_probe()
308 self, &func->dev, &self->core, in cw1200_sdio_probe()
315 sdio_claim_host(func); in cw1200_sdio_probe()
316 sdio_disable_func(func); in cw1200_sdio_probe()
317 sdio_release_host(func); in cw1200_sdio_probe()
318 sdio_set_drvdata(func, NULL); in cw1200_sdio_probe()
328 static void cw1200_sdio_disconnect(struct sdio_func *func) in cw1200_sdio_disconnect() argument
330 struct hwbus_priv *self = sdio_get_drvdata(func); in cw1200_sdio_disconnect()
338 sdio_claim_host(func); in cw1200_sdio_disconnect()
339 sdio_disable_func(func); in cw1200_sdio_disconnect()
340 sdio_release_host(func); in cw1200_sdio_disconnect()
341 sdio_set_drvdata(func, NULL); in cw1200_sdio_disconnect()
350 struct sdio_func *func = dev_to_sdio_func(dev); in cw1200_sdio_suspend() local
351 struct hwbus_priv *self = sdio_get_drvdata(func); in cw1200_sdio_suspend()
357 ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER); in cw1200_sdio_suspend()