#include <linux/kernel.h>
#include <linux/sched.h>
#include <uapi/linux/sched/types.h>
#include <linux/kthread.h>
#include <linux/export.h>
#include <linux/wait.h>
#include <linux/delay.h>
#include <linux/mmc/core.h>
#include <linux/mmc/host.h>
#include <linux/mmc/card.h>
#include <linux/mmc/sdio.h>
#include <linux/mmc/sdio_func.h>
#include "sdio_ops.h"
#include "core.h"
#include "card.h"
static int sdio_get_pending_irqs(struct mmc_host *host, u8 *pending)
{ … }
static int process_sdio_pending_irqs(struct mmc_host *host)
{ … }
static void sdio_run_irqs(struct mmc_host *host)
{ … }
void sdio_irq_work(struct work_struct *work)
{ … }
void sdio_signal_irq(struct mmc_host *host)
{ … }
EXPORT_SYMBOL_GPL(…);
static int sdio_irq_thread(void *_host)
{ … }
static int sdio_card_irq_get(struct mmc_card *card)
{ … }
static int sdio_card_irq_put(struct mmc_card *card)
{ … }
static void sdio_single_irq_set(struct mmc_card *card)
{ … }
int sdio_claim_irq(struct sdio_func *func, sdio_irq_handler_t *handler)
{ … }
EXPORT_SYMBOL_GPL(…);
int sdio_release_irq(struct sdio_func *func)
{ … }
EXPORT_SYMBOL_GPL(…);