mmc: arm_pl180_mmci: update arm_pl180_mmci_init() prototype
authorPatrice Chotard <patrice.chotard@st.com>
Mon, 23 Oct 2017 08:57:30 +0000 (10:57 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 17 Nov 2017 12:44:13 +0000 (07:44 -0500)
Update arm_pl180_mmci_init() prototype by adding struct mmc**
param. This is needed before converting this driver to driver model
in order to use arm_pl180_mmci_init() in driver model and in none
driver model implementation

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
board/armltd/vexpress/vexpress_common.c
drivers/mmc/arm_pl180_mmci.c
drivers/mmc/arm_pl180_mmci.h

index 89ab8f7a5974bbca1d77d3413a20f164f42a3d49..37b8d7f4f5fab77a3edd733e1d01cd87fc272dbf 100644 (file)
@@ -76,6 +76,7 @@ int cpu_mmc_init(bd_t *bis)
        (void) bis;
 #ifdef CONFIG_ARM_PL180_MMCI
        struct pl180_mmc_host *host;
+       struct mmc *mmc;
 
        host = malloc(sizeof(struct pl180_mmc_host));
        if (!host)
@@ -91,7 +92,7 @@ int cpu_mmc_init(bd_t *bis)
        host->clock_in = ARM_MCLK;
        host->clock_min = ARM_MCLK / (2 * (SDI_CLKCR_CLKDIV_INIT_V1 + 1));
        host->clock_max = CONFIG_ARM_PL180_MMCI_CLOCK_FREQ;
-       rc = arm_pl180_mmci_init(host);
+       rc = arm_pl180_mmci_init(host, &mmc);
 #endif
        return rc;
 }
index ddf8383f1c63163781205dd342108ac2af65a7ee..7898b0dd70f40d28d177075a7c6472a9aa632b8f 100644 (file)
@@ -348,9 +348,8 @@ static const struct mmc_ops arm_pl180_mmci_ops = {
  * Set initial clock and power for mmc slot.
  * Initialize mmc struct and register with mmc framework.
  */
-int arm_pl180_mmci_init(struct pl180_mmc_host *host)
+int arm_pl180_mmci_init(struct pl180_mmc_host *host, struct mmc **mmc)
 {
-       struct mmc *mmc;
        u32 sdi_u32;
 
        writel(host->pwr_init, &host->base->power);
@@ -373,11 +372,12 @@ int arm_pl180_mmci_init(struct pl180_mmc_host *host)
        else
                host->cfg.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
 
-       mmc = mmc_create(&host->cfg, host);
-       if (mmc == NULL)
+       *mmc = mmc_create(&host->cfg, host);
+       if (!*mmc)
                return -1;
 
-       debug("registered mmc interface number is:%d\n", mmc->block_dev.devnum);
+       debug("registered mmc interface number is:%d\n",
+             (*mmc)->block_dev.devnum);
 
        return 0;
 }
index f23bd391eed1c5ce91af4ee59a8c992c69ff65e9..6e232f7df26ccd1ec71054c24b4ed04a76b2dc47 100644 (file)
@@ -190,6 +190,6 @@ struct pl180_mmc_host {
        struct mmc_config cfg;
 };
 
-int arm_pl180_mmci_init(struct pl180_mmc_host *);
+int arm_pl180_mmci_init(struct pl180_mmc_host *host, struct mmc **mmc);
 
 #endif