• Home
  • Raw
  • Download

Lines Matching refs:func

45 			struct sdio_func *func = card->sdio_func[i - 1];  in process_sdio_pending_irqs()  local
46 if (!func) { in process_sdio_pending_irqs()
51 } else if (func->irq_handler) { in process_sdio_pending_irqs()
52 func->irq_handler(func); in process_sdio_pending_irqs()
56 sdio_func_id(func)); in process_sdio_pending_irqs()
199 int sdio_claim_irq(struct sdio_func *func, sdio_irq_handler_t *handler) in sdio_claim_irq() argument
204 BUG_ON(!func); in sdio_claim_irq()
205 BUG_ON(!func->card); in sdio_claim_irq()
207 pr_debug("SDIO: Enabling IRQ for %s...\n", sdio_func_id(func)); in sdio_claim_irq()
209 if (func->irq_handler) { in sdio_claim_irq()
210 pr_debug("SDIO: IRQ for %s already in use.\n", sdio_func_id(func)); in sdio_claim_irq()
214 ret = mmc_io_rw_direct(func->card, 0, 0, SDIO_CCCR_IENx, 0, &reg); in sdio_claim_irq()
218 reg |= 1 << func->num; in sdio_claim_irq()
222 ret = mmc_io_rw_direct(func->card, 1, 0, SDIO_CCCR_IENx, reg, NULL); in sdio_claim_irq()
226 func->irq_handler = handler; in sdio_claim_irq()
227 ret = sdio_card_irq_get(func->card); in sdio_claim_irq()
229 func->irq_handler = NULL; in sdio_claim_irq()
241 int sdio_release_irq(struct sdio_func *func) in sdio_release_irq() argument
246 BUG_ON(!func); in sdio_release_irq()
247 BUG_ON(!func->card); in sdio_release_irq()
249 pr_debug("SDIO: Disabling IRQ for %s...\n", sdio_func_id(func)); in sdio_release_irq()
251 if (func->irq_handler) { in sdio_release_irq()
252 func->irq_handler = NULL; in sdio_release_irq()
253 sdio_card_irq_put(func->card); in sdio_release_irq()
256 ret = mmc_io_rw_direct(func->card, 0, 0, SDIO_CCCR_IENx, 0, &reg); in sdio_release_irq()
260 reg &= ~(1 << func->num); in sdio_release_irq()
266 ret = mmc_io_rw_direct(func->card, 1, 0, SDIO_CCCR_IENx, reg, NULL); in sdio_release_irq()