mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
mmc: rockchip_sdhci: Fix use of device private data
The device private data is misused in rockchip_sdhci_of_to_plat and rockchip_sdhci_execute_tuning. In these functions dev_get_priv is assigned to struct sdhci_host: struct sdhci_host *host = dev_get_priv(dev); Instead, the sdhci host should refer to host in struct rockchip_sdhc: struct rockchip_sdhc *priv = dev_get_priv(dev); struct sdhci_host *host = &priv->host; Because host is the first member in struct rockchip_sdhc this is not a real problem, lets fix it anyway and also use priv name consistently. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
committed by
Kever Yang
parent
c1425ed8f8
commit
b8c394b726
@@ -450,7 +450,8 @@ static int rockchip_sdhci_set_ios_post(struct sdhci_host *host)
|
||||
|
||||
static int rockchip_sdhci_execute_tuning(struct mmc *mmc, u8 opcode)
|
||||
{
|
||||
struct sdhci_host *host = dev_get_priv(mmc->dev);
|
||||
struct rockchip_sdhc *priv = dev_get_priv(mmc->dev);
|
||||
struct sdhci_host *host = &priv->host;
|
||||
char tuning_loop_counter = SDHCI_TUNING_LOOP_COUNT;
|
||||
struct mmc_cmd cmd;
|
||||
u32 ctrl, blk_size;
|
||||
@@ -531,9 +532,9 @@ static int rockchip_sdhci_probe(struct udevice *dev)
|
||||
struct sdhci_data *data = (struct sdhci_data *)dev_get_driver_data(dev);
|
||||
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
||||
struct rockchip_sdhc_plat *plat = dev_get_plat(dev);
|
||||
struct rockchip_sdhc *prv = dev_get_priv(dev);
|
||||
struct rockchip_sdhc *priv = dev_get_priv(dev);
|
||||
struct mmc_config *cfg = &plat->cfg;
|
||||
struct sdhci_host *host = &prv->host;
|
||||
struct sdhci_host *host = &priv->host;
|
||||
struct clk clk;
|
||||
int ret;
|
||||
|
||||
@@ -547,8 +548,8 @@ static int rockchip_sdhci_probe(struct udevice *dev)
|
||||
printf("%s fail to get clk\n", __func__);
|
||||
}
|
||||
|
||||
prv->emmc_clk = clk;
|
||||
prv->dev = dev;
|
||||
priv->emmc_clk = clk;
|
||||
priv->dev = dev;
|
||||
|
||||
if (data->get_phy) {
|
||||
ret = data->get_phy(dev);
|
||||
@@ -566,7 +567,7 @@ static int rockchip_sdhci_probe(struct udevice *dev)
|
||||
host->quirks = SDHCI_QUIRK_WAIT_SEND_CMD;
|
||||
|
||||
host->mmc = &plat->mmc;
|
||||
host->mmc->priv = &prv->host;
|
||||
host->mmc->priv = &priv->host;
|
||||
host->mmc->dev = dev;
|
||||
upriv->mmc = host->mmc;
|
||||
|
||||
@@ -580,8 +581,9 @@ static int rockchip_sdhci_probe(struct udevice *dev)
|
||||
static int rockchip_sdhci_of_to_plat(struct udevice *dev)
|
||||
{
|
||||
struct rockchip_sdhc_plat *plat = dev_get_plat(dev);
|
||||
struct sdhci_host *host = dev_get_priv(dev);
|
||||
struct rockchip_sdhc *priv = dev_get_priv(dev);
|
||||
struct mmc_config *cfg = &plat->cfg;
|
||||
struct sdhci_host *host = &priv->host;
|
||||
int ret;
|
||||
|
||||
host->name = dev->name;
|
||||
|
||||
Reference in New Issue
Block a user