linux/drivers/staging/greybus/sdio.c

// SPDX-License-Identifier: GPL-2.0
/*
 * SD/MMC Greybus driver.
 *
 * Copyright 2014-2015 Google Inc.
 * Copyright 2014-2015 Linaro Ltd.
 */

#include <linux/kernel.h>
#include <linux/mmc/core.h>
#include <linux/mmc/host.h>
#include <linux/mmc/mmc.h>
#include <linux/scatterlist.h>
#include <linux/workqueue.h>
#include <linux/greybus.h>

#include "gbphy.h"

struct gb_sdio_host {};

#define GB_SDIO_RSP_R1_R5_R6_R7
#define GB_SDIO_RSP_R3_R4
#define GB_SDIO_RSP_R2
#define GB_SDIO_RSP_R1B

/* kernel vdd starts at 0x80 and we need to translate to greybus ones 0x01 */
#define GB_SDIO_VDD_SHIFT

#ifndef MMC_CAP2_CORE_RUNTIME_PM
#define MMC_CAP2_CORE_RUNTIME_PM
#endif

static inline bool single_op(struct mmc_command *cmd)
{}

static void _gb_sdio_set_host_caps(struct gb_sdio_host *host, u32 r)
{}

static u32 _gb_sdio_get_host_ocr(u32 ocr)
{}

static int gb_sdio_get_caps(struct gb_sdio_host *host)
{}

static void _gb_queue_event(struct gb_sdio_host *host, u8 event)
{}

static int _gb_sdio_process_events(struct gb_sdio_host *host, u8 event)
{}

static int gb_sdio_request_handler(struct gb_operation *op)
{}

static int gb_sdio_set_ios(struct gb_sdio_host *host,
			   struct gb_sdio_set_ios_request *request)
{}

static int _gb_sdio_send(struct gb_sdio_host *host, struct mmc_data *data,
			 size_t len, u16 nblocks, off_t skip)
{}

static int _gb_sdio_recv(struct gb_sdio_host *host, struct mmc_data *data,
			 size_t len, u16 nblocks, off_t skip)
{}

static int gb_sdio_transfer(struct gb_sdio_host *host, struct mmc_data *data)
{}

static int gb_sdio_command(struct gb_sdio_host *host, struct mmc_command *cmd)
{}

static void gb_sdio_mrq_work(struct work_struct *work)
{}

static void gb_mmc_request(struct mmc_host *mmc, struct mmc_request *mrq)
{}

static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
{}

static int gb_mmc_get_ro(struct mmc_host *mmc)
{}

static int gb_mmc_get_cd(struct mmc_host *mmc)
{}

static int gb_mmc_switch_voltage(struct mmc_host *mmc, struct mmc_ios *ios)
{}

static const struct mmc_host_ops gb_sdio_ops =;

static int gb_sdio_probe(struct gbphy_device *gbphy_dev,
			 const struct gbphy_device_id *id)
{}

static void gb_sdio_remove(struct gbphy_device *gbphy_dev)
{}

static const struct gbphy_device_id gb_sdio_id_table[] =;
MODULE_DEVICE_TABLE(gbphy, gb_sdio_id_table);

static struct gbphy_driver sdio_driver =;

module_gbphy_driver();
MODULE_DESCRIPTION();
MODULE_LICENSE();