linux/drivers/mmc/host/toshsd.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Toshiba PCI Secure Digital Host Controller Interface driver
 *
 *  Copyright (C) 2014 Ondrej Zary
 *  Copyright (C) 2007 Richard Betts, All Rights Reserved.
 *
 *	Based on asic3_mmc.c, copyright (c) 2005 SDG Systems, LLC and,
 *	sdhci.c, copyright (C) 2005-2006 Pierre Ossman
 */

#include <linux/delay.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/scatterlist.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>
#include <linux/mmc/host.h>
#include <linux/mmc/mmc.h>

#include "toshsd.h"

#define DRIVER_NAME

static const struct pci_device_id pci_ids[] =;

MODULE_DEVICE_TABLE(pci, pci_ids);

static void toshsd_init(struct toshsd_host *host)
{}

/* Set MMC clock / power.
 * Note: This controller uses a simple divider scheme therefore it cannot run
 * SD/MMC cards at full speed (24/20MHz). HCLK (=33MHz PCI clock?) is too high
 * and the next slowest is 16MHz (div=2).
 */
static void __toshsd_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
{}

static void toshsd_set_led(struct toshsd_host *host, unsigned char state)
{}

static void toshsd_finish_request(struct toshsd_host *host)
{}

static irqreturn_t toshsd_thread_irq(int irq, void *dev_id)
{}

static void toshsd_cmd_irq(struct toshsd_host *host)
{}

static void toshsd_data_end_irq(struct toshsd_host *host)
{}

static irqreturn_t toshsd_irq(int irq, void *dev_id)
{}

static void toshsd_start_cmd(struct toshsd_host *host, struct mmc_command *cmd)
{}

static void toshsd_start_data(struct toshsd_host *host, struct mmc_data *data)
{}

/* Process requests from the MMC layer */
static void toshsd_request(struct mmc_host *mmc, struct mmc_request *mrq)
{}

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

static int toshsd_get_ro(struct mmc_host *mmc)
{}

static int toshsd_get_cd(struct mmc_host *mmc)
{}

static const struct mmc_host_ops toshsd_ops =;


static void toshsd_powerdown(struct toshsd_host *host)
{}

#ifdef CONFIG_PM_SLEEP
static int toshsd_pm_suspend(struct device *dev)
{}

static int toshsd_pm_resume(struct device *dev)
{}
#endif /* CONFIG_PM_SLEEP */

static int toshsd_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{}

static void toshsd_remove(struct pci_dev *pdev)
{}

static const struct dev_pm_ops toshsd_pm_ops =;

static struct pci_driver toshsd_driver =;

module_pci_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();