]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
mmc: sdhci: zynq: Define private structure arasan_sdhci_priv
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Wed, 1 Feb 2017 19:40:47 +0000 (01:10 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 2 Feb 2017 09:29:41 +0000 (10:29 +0100)
Deine private structure arasan_sdhci_priv instead of sdhci_host
as private. This allows us in adding more private data  as required
for usage in driver.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/mmc/zynq_sdhci.c

index 3da138562ab9494bb88aefefa4f4fc79e704ceee..2c1561c9a7e1c2dce05a78d251f19a97e6d6ab05 100644 (file)
@@ -22,13 +22,20 @@ struct arasan_sdhci_plat {
        struct mmc mmc;
 };
 
+struct arasan_sdhci_priv {
+       struct sdhci_host *host;
+};
+
 static int arasan_sdhci_probe(struct udevice *dev)
 {
        struct arasan_sdhci_plat *plat = dev_get_platdata(dev);
        struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
-       struct sdhci_host *host = dev_get_priv(dev);
+       struct arasan_sdhci_priv *priv = dev_get_priv(dev);
+       struct sdhci_host *host;
        int ret;
 
+       host = priv->host;
+
        host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD |
                       SDHCI_QUIRK_BROKEN_R1B;
 
@@ -50,10 +57,14 @@ static int arasan_sdhci_probe(struct udevice *dev)
 
 static int arasan_sdhci_ofdata_to_platdata(struct udevice *dev)
 {
-       struct sdhci_host *host = dev_get_priv(dev);
+       struct arasan_sdhci_priv *priv = dev_get_priv(dev);
+
+       priv->host = calloc(1, sizeof(struct sdhci_host));
+       if (priv->host == NULL)
+               return -1;
 
-       host->name = dev->name;
-       host->ioaddr = (void *)dev_get_addr(dev);
+       priv->host->name = dev->name;
+       priv->host->ioaddr = (void *)dev_get_addr(dev);
 
        return 0;
 }