|
@@ -45,7 +45,8 @@
|
|
|
#define SDHI_VER_GEN3_SD 0xcc10
|
|
|
#define SDHI_VER_GEN3_SDMMC 0xcd10
|
|
|
|
|
|
-#define host_to_priv(host) container_of((host)->pdata, struct renesas_sdhi, mmc_data)
|
|
|
+#define host_to_priv(host) \
|
|
|
+ container_of((host)->pdata, struct renesas_sdhi, mmc_data)
|
|
|
|
|
|
struct renesas_sdhi {
|
|
|
struct clk *clk;
|
|
@@ -94,6 +95,7 @@ static int renesas_sdhi_clk_enable(struct tmio_mmc_host *host)
|
|
|
struct mmc_host *mmc = host->mmc;
|
|
|
struct renesas_sdhi *priv = host_to_priv(host);
|
|
|
int ret = clk_prepare_enable(priv->clk);
|
|
|
+
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
@@ -125,7 +127,7 @@ static int renesas_sdhi_clk_enable(struct tmio_mmc_host *host)
|
|
|
}
|
|
|
|
|
|
static unsigned int renesas_sdhi_clk_update(struct tmio_mmc_host *host,
|
|
|
- unsigned int new_clock)
|
|
|
+ unsigned int new_clock)
|
|
|
{
|
|
|
struct renesas_sdhi *priv = host_to_priv(host);
|
|
|
unsigned int freq, diff, best_freq = 0, diff_min = ~0;
|
|
@@ -175,11 +177,12 @@ static int renesas_sdhi_card_busy(struct mmc_host *mmc)
|
|
|
{
|
|
|
struct tmio_mmc_host *host = mmc_priv(mmc);
|
|
|
|
|
|
- return !(sd_ctrl_read16_and_16_as_32(host, CTL_STATUS) & TMIO_STAT_DAT0);
|
|
|
+ return !(sd_ctrl_read16_and_16_as_32(host, CTL_STATUS) &
|
|
|
+ TMIO_STAT_DAT0);
|
|
|
}
|
|
|
|
|
|
static int renesas_sdhi_start_signal_voltage_switch(struct mmc_host *mmc,
|
|
|
- struct mmc_ios *ios)
|
|
|
+ struct mmc_ios *ios)
|
|
|
{
|
|
|
struct tmio_mmc_host *host = mmc_priv(mmc);
|
|
|
struct renesas_sdhi *priv = host_to_priv(host);
|
|
@@ -285,7 +288,7 @@ static unsigned int renesas_sdhi_init_tuning(struct tmio_mmc_host *host)
|
|
|
}
|
|
|
|
|
|
static void renesas_sdhi_prepare_tuning(struct tmio_mmc_host *host,
|
|
|
- unsigned long tap)
|
|
|
+ unsigned long tap)
|
|
|
{
|
|
|
struct renesas_sdhi *priv = host_to_priv(host);
|
|
|
|
|
@@ -318,9 +321,9 @@ static int renesas_sdhi_select_tuning(struct tmio_mmc_host *host)
|
|
|
tap_start = 0;
|
|
|
tap_end = 0;
|
|
|
for (i = 0; i < host->tap_num * 2; i++) {
|
|
|
- if (test_bit(i, host->taps))
|
|
|
+ if (test_bit(i, host->taps)) {
|
|
|
ntap++;
|
|
|
- else {
|
|
|
+ } else {
|
|
|
if (ntap > tap_cnt) {
|
|
|
tap_start = i - ntap;
|
|
|
tap_end = i - 1;
|
|
@@ -352,7 +355,6 @@ static int renesas_sdhi_select_tuning(struct tmio_mmc_host *host)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
static bool renesas_sdhi_check_scc_error(struct tmio_mmc_host *host)
|
|
|
{
|
|
|
struct renesas_sdhi *priv = host_to_priv(host);
|
|
@@ -414,8 +416,7 @@ static int renesas_sdhi_wait_idle(struct tmio_mmc_host *host)
|
|
|
|
|
|
static int renesas_sdhi_write16_hook(struct tmio_mmc_host *host, int addr)
|
|
|
{
|
|
|
- switch (addr)
|
|
|
- {
|
|
|
+ switch (addr) {
|
|
|
case CTL_SD_CMD:
|
|
|
case CTL_STOP_INTERNAL_ACTION:
|
|
|
case CTL_XFER_BLK_COUNT:
|
|
@@ -432,7 +433,7 @@ static int renesas_sdhi_write16_hook(struct tmio_mmc_host *host, int addr)
|
|
|
}
|
|
|
|
|
|
static int renesas_sdhi_multi_io_quirk(struct mmc_card *card,
|
|
|
- unsigned int direction, int blk_size)
|
|
|
+ unsigned int direction, int blk_size)
|
|
|
{
|
|
|
/*
|
|
|
* In Renesas controllers, when performing a
|
|
@@ -460,20 +461,23 @@ static void renesas_sdhi_enable_dma(struct tmio_mmc_host *host, bool enable)
|
|
|
int renesas_sdhi_probe(struct platform_device *pdev,
|
|
|
const struct tmio_mmc_dma_ops *dma_ops)
|
|
|
{
|
|
|
- const struct renesas_sdhi_of_data *of_data = of_device_get_match_data( &pdev->dev);
|
|
|
- struct renesas_sdhi *priv;
|
|
|
- struct tmio_mmc_data *mmc_data;
|
|
|
struct tmio_mmc_data *mmd = pdev->dev.platform_data;
|
|
|
+ const struct renesas_sdhi_of_data *of_data;
|
|
|
+ struct tmio_mmc_data *mmc_data;
|
|
|
+ struct tmio_mmc_dma *dma_priv;
|
|
|
struct tmio_mmc_host *host;
|
|
|
+ struct renesas_sdhi *priv;
|
|
|
struct resource *res;
|
|
|
int irq, ret, i;
|
|
|
- struct tmio_mmc_dma *dma_priv;
|
|
|
+
|
|
|
+ of_data = of_device_get_match_data(&pdev->dev);
|
|
|
|
|
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
if (!res)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- priv = devm_kzalloc(&pdev->dev, sizeof(struct renesas_sdhi), GFP_KERNEL);
|
|
|
+ priv = devm_kzalloc(&pdev->dev, sizeof(struct renesas_sdhi),
|
|
|
+ GFP_KERNEL);
|
|
|
if (!priv)
|
|
|
return -ENOMEM;
|
|
|
|
|
@@ -516,7 +520,6 @@ int renesas_sdhi_probe(struct platform_device *pdev,
|
|
|
goto eprobe;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (of_data) {
|
|
|
mmc_data->flags |= of_data->tmio_flags;
|
|
|
mmc_data->ocr_mask = of_data->tmio_ocr_mask;
|
|
@@ -566,9 +569,7 @@ int renesas_sdhi_probe(struct platform_device *pdev,
|
|
|
*/
|
|
|
mmc_data->flags |= TMIO_MMC_SDIO_IRQ;
|
|
|
|
|
|
- /*
|
|
|
- * All SDHI have CMD12 controll bit
|
|
|
- */
|
|
|
+ /* All SDHI have CMD12 control bit */
|
|
|
mmc_data->flags |= TMIO_MMC_HAVE_CMD12_CTRL;
|
|
|
|
|
|
/* All SDHI have SDIO status bits which must be 1 */
|
|
@@ -614,7 +615,7 @@ int renesas_sdhi_probe(struct platform_device *pdev,
|
|
|
break;
|
|
|
i++;
|
|
|
ret = devm_request_irq(&pdev->dev, irq, tmio_mmc_irq, 0,
|
|
|
- dev_name(&pdev->dev), host);
|
|
|
+ dev_name(&pdev->dev), host);
|
|
|
if (ret)
|
|
|
goto eirq;
|
|
|
}
|