#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/mmc/host.h>
#include <linux/mmc/mmc.h>
#include <linux/of.h>
#include <linux/mfd/altera-sysmgr.h>
#include <linux/regmap.h>
#include "dw_mmc.h"
#include "dw_mmc-pltfm.h"
#define SOCFPGA_DW_MMC_CLK_PHASE_STEP …
#define SYSMGR_SDMMC_CTRL_SET(smplsel, drvsel, reg_shift) …
int dw_mci_pltfm_register(struct platform_device *pdev,
const struct dw_mci_drv_data *drv_data)
{ … }
EXPORT_SYMBOL_GPL(…);
const struct dev_pm_ops dw_mci_pltfm_pmops = …;
EXPORT_SYMBOL_GPL(…);
static int dw_mci_socfpga_priv_init(struct dw_mci *host)
{ … }
static const struct dw_mci_drv_data socfpga_drv_data = …;
static const struct of_device_id dw_mci_pltfm_match[] = …;
MODULE_DEVICE_TABLE(of, dw_mci_pltfm_match);
static int dw_mci_pltfm_probe(struct platform_device *pdev)
{ … }
void dw_mci_pltfm_remove(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_GPL(…);
static struct platform_driver dw_mci_pltfm_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;