#include <linux/bits.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/property.h>
#include "sdhci-pltfm.h"
#include "sdhci_f_sdh30.h"
#define MLB_SOFT_RESET …
#define MLB_SOFT_RESET_RSTX …
#define MLB_WP_CD_LED_SET …
#define MLB_WP_CD_LED_SET_LED_INV …
#define MLB_CR_SET …
#define MLB_CR_SET_CR_TOCLKUNIT …
#define MLB_CR_SET_CR_TOCLKFREQ_SFT …
#define MLB_CR_SET_CR_TOCLKFREQ_MASK …
#define MLB_CR_SET_CR_BCLKFREQ_SFT …
#define MLB_CR_SET_CR_BCLKFREQ_MASK …
#define MLB_CR_SET_CR_RTUNTIMER_SFT …
#define MLB_CR_SET_CR_RTUNTIMER_MASK …
#define MLB_SD_TOCLK_I_DIV …
#define MLB_TOCLKFREQ_UNIT_THRES …
#define MLB_CAL_TOCLKFREQ_MHZ(rate) …
#define MLB_CAL_TOCLKFREQ_KHZ(rate) …
#define MLB_TOCLKFREQ_MAX …
#define MLB_TOCLKFREQ_MIN …
#define MLB_SD_BCLK_I_DIV …
#define MLB_CAL_BCLKFREQ(rate) …
#define MLB_BCLKFREQ_MAX …
#define MLB_BCLKFREQ_MIN …
#define MLB_CDR_SET …
#define MLB_CDR_SET_CLK2POW16 …
struct f_sdhost_priv { … };
static void sdhci_milbeaut_soft_voltage_switch(struct sdhci_host *host)
{ … }
static unsigned int sdhci_milbeaut_get_min_clock(struct sdhci_host *host)
{ … }
static void sdhci_milbeaut_reset(struct sdhci_host *host, u8 mask)
{ … }
static const struct sdhci_ops sdhci_milbeaut_ops = …;
static void sdhci_milbeaut_bridge_reset(struct sdhci_host *host,
int reset_flag)
{ … }
static void sdhci_milbeaut_bridge_init(struct sdhci_host *host,
int rate)
{ … }
static void sdhci_milbeaut_vendor_init(struct sdhci_host *host)
{ … }
static const struct of_device_id mlb_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, mlb_dt_ids);
static void sdhci_milbeaut_init(struct sdhci_host *host)
{ … }
static int sdhci_milbeaut_probe(struct platform_device *pdev)
{ … }
static void sdhci_milbeaut_remove(struct platform_device *pdev)
{ … }
static struct platform_driver sdhci_milbeaut_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;