mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 00:52:01 +00:00
mmc: sdhci-tegra: use sdhci_pltfm_init for private allocation
Commit 0e74823429
("mmc: sdhci: Add size for caller in init+register")
allows users of sdhci_pltfm to allocate private space in calls to
sdhci_pltfm_init+sdhci_pltfm_register. This patch migrates sdhci-tegra
to this allocation.
Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
1531675269
commit
0734e79c05
@ -63,7 +63,7 @@ struct sdhci_tegra {
|
||||
static u16 tegra_sdhci_readw(struct sdhci_host *host, int reg)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
||||
struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
|
||||
const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data;
|
||||
|
||||
if (unlikely((soc_data->nvquirks & NVQUIRK_FORCE_SDHCI_SPEC_200) &&
|
||||
@ -99,7 +99,7 @@ static void tegra_sdhci_writew(struct sdhci_host *host, u16 val, int reg)
|
||||
static void tegra_sdhci_writel(struct sdhci_host *host, u32 val, int reg)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
||||
struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
|
||||
const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data;
|
||||
|
||||
/* Seems like we're getting spurious timeout and crc errors, so
|
||||
@ -131,7 +131,7 @@ static unsigned int tegra_sdhci_get_ro(struct sdhci_host *host)
|
||||
static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
||||
struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
|
||||
const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data;
|
||||
u32 misc_ctrl, clk_ctrl;
|
||||
|
||||
@ -184,7 +184,7 @@ static void tegra_sdhci_set_bus_width(struct sdhci_host *host, int bus_width)
|
||||
static void tegra_sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
||||
struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
|
||||
unsigned long host_clk;
|
||||
|
||||
if (!clock)
|
||||
@ -201,7 +201,7 @@ static void tegra_sdhci_set_uhs_signaling(struct sdhci_host *host,
|
||||
unsigned timing)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
struct sdhci_tegra *tegra_host = pltfm_host->priv;
|
||||
struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
|
||||
|
||||
if (timing == MMC_TIMING_UHS_DDR50)
|
||||
tegra_host->ddr_signaling = true;
|
||||
@ -380,20 +380,14 @@ static int sdhci_tegra_probe(struct platform_device *pdev)
|
||||
return -EINVAL;
|
||||
soc_data = match->data;
|
||||
|
||||
host = sdhci_pltfm_init(pdev, soc_data->pdata, 0);
|
||||
host = sdhci_pltfm_init(pdev, soc_data->pdata, sizeof(*tegra_host));
|
||||
if (IS_ERR(host))
|
||||
return PTR_ERR(host);
|
||||
pltfm_host = sdhci_priv(host);
|
||||
|
||||
tegra_host = devm_kzalloc(&pdev->dev, sizeof(*tegra_host), GFP_KERNEL);
|
||||
if (!tegra_host) {
|
||||
dev_err(mmc_dev(host->mmc), "failed to allocate tegra_host\n");
|
||||
rc = -ENOMEM;
|
||||
goto err_alloc_tegra_host;
|
||||
}
|
||||
tegra_host = sdhci_pltfm_priv(pltfm_host);
|
||||
tegra_host->ddr_signaling = false;
|
||||
tegra_host->soc_data = soc_data;
|
||||
pltfm_host->priv = tegra_host;
|
||||
|
||||
rc = mmc_of_parse(host->mmc);
|
||||
if (rc)
|
||||
@ -429,7 +423,6 @@ err_add_host:
|
||||
err_clk_get:
|
||||
err_power_req:
|
||||
err_parse_dt:
|
||||
err_alloc_tegra_host:
|
||||
sdhci_pltfm_free(pdev);
|
||||
return rc;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user