#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/highmem.h>
#include <linux/platform_device.h>
#include <linux/mmc/host.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <linux/of.h>
#include <linux/mmc/slot-gpio.h>
#include "sdhci-pltfm.h"
#include "sdhci.h"
#define SDHCI_SOFT_RESET …
#define KONA_SDHOST_CORECTRL …
#define KONA_SDHOST_CD_PINCTRL …
#define KONA_SDHOST_STOP_HCLK …
#define KONA_SDHOST_RESET …
#define KONA_SDHOST_EN …
#define KONA_SDHOST_CORESTAT …
#define KONA_SDHOST_WP …
#define KONA_SDHOST_CD_SW …
#define KONA_SDHOST_COREIMR …
#define KONA_SDHOST_IP …
#define KONA_SDHOST_COREISR …
#define KONA_SDHOST_COREIMSR …
#define KONA_SDHOST_COREDBG1 …
#define KONA_SDHOST_COREGPO_MASK …
#define SD_DETECT_GPIO_DEBOUNCE_128MS …
#define KONA_MMC_AUTOSUSPEND_DELAY …
struct sdhci_bcm_kona_dev { … };
static int sdhci_bcm_kona_sd_reset(struct sdhci_host *host)
{ … }
static void sdhci_bcm_kona_sd_init(struct sdhci_host *host)
{ … }
static int sdhci_bcm_kona_sd_card_emulate(struct sdhci_host *host, int insert)
{ … }
static void sdhci_bcm_kona_card_event(struct sdhci_host *host)
{ … }
static void sdhci_bcm_kona_init_74_clocks(struct sdhci_host *host,
u8 power_mode)
{ … }
static const struct sdhci_ops sdhci_bcm_kona_ops = …;
static const struct sdhci_pltfm_data sdhci_pltfm_data_kona = …;
static const struct of_device_id sdhci_bcm_kona_of_match[] = …;
MODULE_DEVICE_TABLE(of, sdhci_bcm_kona_of_match);
static int sdhci_bcm_kona_probe(struct platform_device *pdev)
{ … }
static void sdhci_bcm_kona_remove(struct platform_device *pdev)
{ … }
static struct platform_driver sdhci_bcm_kona_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;