#include <linux/clk.h>
#include <linux/mmc/sdio_func.h>
#include <linux/mmc/sdio_ids.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sdio.h>
#include <linux/of_irq.h>
#include "netdev.h"
#include "cfg80211.h"
#define SDIO_MODALIAS …
static const struct sdio_device_id wilc_sdio_ids[] = …;
MODULE_DEVICE_TABLE(sdio, wilc_sdio_ids);
#define WILC_SDIO_BLOCK_SIZE …
static int wilc_sdio_init(struct wilc *wilc, bool resume);
static int wilc_sdio_deinit(struct wilc *wilc);
struct wilc_sdio { … };
struct sdio_cmd52 { … };
struct sdio_cmd53 { … };
static const struct wilc_hif_func wilc_hif_sdio;
static void wilc_sdio_interrupt(struct sdio_func *func)
{ … }
static int wilc_sdio_cmd52(struct wilc *wilc, struct sdio_cmd52 *cmd)
{ … }
static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd)
{ … }
static int wilc_sdio_probe(struct sdio_func *func,
const struct sdio_device_id *id)
{ … }
static void wilc_sdio_remove(struct sdio_func *func)
{ … }
static int wilc_sdio_reset(struct wilc *wilc)
{ … }
static bool wilc_sdio_is_init(struct wilc *wilc)
{ … }
static int wilc_sdio_enable_interrupt(struct wilc *dev)
{ … }
static void wilc_sdio_disable_interrupt(struct wilc *dev)
{ … }
static int wilc_sdio_set_func0_csa_address(struct wilc *wilc, u32 adr)
{ … }
static int wilc_sdio_set_block_size(struct wilc *wilc, u8 func_num,
u32 block_size)
{ … }
static int wilc_sdio_write_reg(struct wilc *wilc, u32 addr, u32 data)
{ … }
static int wilc_sdio_write(struct wilc *wilc, u32 addr, u8 *buf, u32 size)
{ … }
static int wilc_sdio_read_reg(struct wilc *wilc, u32 addr, u32 *data)
{ … }
static int wilc_sdio_read(struct wilc *wilc, u32 addr, u8 *buf, u32 size)
{ … }
static int wilc_sdio_deinit(struct wilc *wilc)
{ … }
static int wilc_sdio_init(struct wilc *wilc, bool resume)
{ … }
static int wilc_sdio_read_size(struct wilc *wilc, u32 *size)
{ … }
static int wilc_sdio_read_int(struct wilc *wilc, u32 *int_status)
{ … }
static int wilc_sdio_clear_int_ext(struct wilc *wilc, u32 val)
{ … }
static int wilc_sdio_sync_ext(struct wilc *wilc, int nint)
{ … }
static const struct wilc_hif_func wilc_hif_sdio = …;
static int wilc_sdio_suspend(struct device *dev)
{ … }
static int wilc_sdio_resume(struct device *dev)
{ … }
static const struct of_device_id wilc_of_match[] = …;
MODULE_DEVICE_TABLE(of, wilc_of_match);
static const struct dev_pm_ops wilc_sdio_pm_ops = …;
static struct sdio_driver wilc_sdio_driver = …;
module_sdio_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;