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