linux/drivers/net/wireless/microchip/wilc1000/sdio.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries.
 * All rights reserved.
 */

#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)
{}

/********************************************
 *
 *      Function 0
 *
 ********************************************/

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)
{}

/********************************************
 *
 *      Sdio interfaces
 *
 ********************************************/
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)
{}

/********************************************
 *
 *      Bus interfaces
 *
 ********************************************/

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)
{}

/* Global sdio HIF function table */
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();