Lines Matching defs:func
34 struct sdio_func *func;
109 static inline void ath6kl_sdio_set_cmd53_arg(u32 *arg, u8 rw, u8 func,
114 ((func & 0x7) << 28) |
125 const u8 func = 0;
128 ((func & 0x7) << 28) |
150 static int ath6kl_sdio_io(struct sdio_func *func, u32 request, u32 addr,
155 sdio_claim_host(func);
168 ret = sdio_writesb(func, addr, buf, len);
170 ret = sdio_memcpy_toio(func, addr, buf, len);
173 ret = sdio_readsb(func, buf, addr, len);
175 ret = sdio_memcpy_fromio(func, buf, addr, len);
178 sdio_release_host(func);
277 status = ath6kl_sdio_io(ar_sdio->func, scat_req->req,
304 ath6kl_sdio_set_cmd53_arg(&cmd.arg, rw, ar_sdio->func->num,
314 sdio_claim_host(ar_sdio->func);
316 mmc_set_data_timeout(&data, ar_sdio->func->card);
325 mmc_wait_for_req(ar_sdio->func->card->host, &mmc_req);
327 sdio_release_host(ar_sdio->func);
434 ret = ath6kl_sdio_io(ar_sdio->func, request, addr, tbuf, len);
479 static void ath6kl_sdio_irq_handler(struct sdio_func *func)
486 ar_sdio = sdio_get_drvdata(func);
492 sdio_release_host(ar_sdio->func);
495 sdio_claim_host(ar_sdio->func);
506 struct sdio_func *func = ar_sdio->func;
514 sdio_claim_host(func);
516 ret = sdio_enable_func(func);
518 ath6kl_err("Unable to enable sdio func: %d)\n", ret);
519 sdio_release_host(func);
523 sdio_release_host(func);
554 sdio_claim_host(ar_sdio->func);
555 ret = sdio_disable_func(ar_sdio->func);
556 sdio_release_host(ar_sdio->func);
597 sdio_claim_host(ar_sdio->func);
600 ret = sdio_claim_irq(ar_sdio->func, ath6kl_sdio_irq_handler);
604 sdio_release_host(ar_sdio->func);
619 sdio_claim_host(ar_sdio->func);
622 sdio_release_host(ar_sdio->func);
629 sdio_claim_host(ar_sdio->func);
632 ret = sdio_release_irq(ar_sdio->func);
636 sdio_release_host(ar_sdio->func);
744 if (ar_sdio->func->card->host->max_segs < MAX_SCATTER_ENTRIES_PER_REQ) {
746 ar_sdio->func->card->host->max_segs,
797 struct sdio_func *func = ar_sdio->func;
800 sdio_claim_host(func);
804 ret = ath6kl_sdio_func0_cmd52_wr_byte(func->card,
817 func->enable_timeout = 100;
819 ret = sdio_set_block_size(func, HIF_MBOX_BLOCK_SIZE);
827 sdio_release_host(func);
835 struct sdio_func *func = ar_sdio->func;
839 flags = sdio_get_host_pm_caps(func);
847 ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
854 ret = sdio_set_host_pm_flags(func, MMC_PM_WAKE_SDIO_IRQ);
864 struct sdio_func *func = ar_sdio->func;
892 flags = sdio_get_host_pm_caps(func);
896 ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
907 ret = sdio_set_host_pm_flags(func,
922 if (func->card && func->card->host)
923 func->card->host->pm_flags &= ~MMC_PM_KEEP_POWER;
1306 static int ath6kl_sdio_probe(struct sdio_func *func,
1315 "sdio new func %d vendor 0x%x device 0x%x block 0x%x/0x%x\n",
1316 func->num, func->vendor, func->device,
1317 func->max_blksize, func->cur_blksize);
1329 ar_sdio->func = func;
1330 sdio_set_drvdata(func, ar_sdio);
1351 ar = ath6kl_core_create(&ar_sdio->func->dev);
1390 static void ath6kl_sdio_remove(struct sdio_func *func)
1395 "sdio removed func %d vendor 0x%x device 0x%x\n",
1396 func->num, func->vendor, func->device);
1398 ar_sdio = sdio_get_drvdata(func);