#include <linux/clk.h>
#include <linux/mfd/syscon.h>
#include <linux/mmc/host.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include "dw_mmc.h"
#include "dw_mmc-pltfm.h"
#define ALL_INT_CLR …
struct hi3798cv200_priv { … };
static void dw_mci_hi3798cv200_set_ios(struct dw_mci *host, struct mmc_ios *ios)
{ … }
static int dw_mci_hi3798cv200_execute_tuning(struct dw_mci_slot *slot,
u32 opcode)
{ … }
static int dw_mci_hi3798cv200_init(struct dw_mci *host)
{ … }
static const struct dw_mci_drv_data hi3798cv200_data = …;
static int dw_mci_hi3798cv200_probe(struct platform_device *pdev)
{ … }
static void dw_mci_hi3798cv200_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id dw_mci_hi3798cv200_match[] = …;
MODULE_DEVICE_TABLE(of, dw_mci_hi3798cv200_match);
static struct platform_driver dw_mci_hi3798cv200_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;