diff --git a/drivers/mmc/matsushita-common.c b/drivers/mmc/matsushita-common.c index 9f7f47c86b..0b0cbaf9e1 100644 --- a/drivers/mmc/matsushita-common.c +++ b/drivers/mmc/matsushita-common.c @@ -653,12 +653,11 @@ int matsu_sd_bind(struct udevice *dev) return mmc_bind(dev, &plat->mmc, &plat->cfg); } -int matsu_sd_probe(struct udevice *dev) +int matsu_sd_probe(struct udevice *dev, u32 quirks) { struct matsu_sd_plat *plat = dev_get_platdata(dev); struct matsu_sd_priv *priv = dev_get_priv(dev); struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); - const u32 quirks = dev_get_driver_data(dev); fdt_addr_t base; struct clk clk; int ret; diff --git a/drivers/mmc/matsushita-common.h b/drivers/mmc/matsushita-common.h index c1b28a0128..a03d8f97e5 100644 --- a/drivers/mmc/matsushita-common.h +++ b/drivers/mmc/matsushita-common.h @@ -132,6 +132,6 @@ int matsu_sd_set_ios(struct udevice *dev); int matsu_sd_get_cd(struct udevice *dev); int matsu_sd_bind(struct udevice *dev); -int matsu_sd_probe(struct udevice *dev); +int matsu_sd_probe(struct udevice *dev, u32 quirks); #endif /* __MATSUSHITA_COMMON_H__ */ diff --git a/drivers/mmc/renesas-sdhi.c b/drivers/mmc/renesas-sdhi.c index 9b388b3ab0..d6b3bfbadc 100644 --- a/drivers/mmc/renesas-sdhi.c +++ b/drivers/mmc/renesas-sdhi.c @@ -38,12 +38,19 @@ static const struct udevice_id renesas_sdhi_match[] = { { /* sentinel */ } }; +static int renesas_sdhi_probe(struct udevice *dev) +{ + u32 quirks = dev_get_driver_data(dev); + + return matsu_sd_probe(dev, quirks); +} + U_BOOT_DRIVER(renesas_sdhi) = { .name = "renesas-sdhi", .id = UCLASS_MMC, .of_match = renesas_sdhi_match, .bind = matsu_sd_bind, - .probe = matsu_sd_probe, + .probe = renesas_sdhi_probe, .priv_auto_alloc_size = sizeof(struct matsu_sd_priv), .platdata_auto_alloc_size = sizeof(struct matsu_sd_plat), .ops = &renesas_sdhi_ops, diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c index 72f0d46758..42eb9c2c84 100644 --- a/drivers/mmc/uniphier-sd.c +++ b/drivers/mmc/uniphier-sd.c @@ -30,12 +30,17 @@ static const struct udevice_id uniphier_sd_match[] = { { /* sentinel */ } }; +static int uniphier_sd_probe(struct udevice *dev) +{ + return matsu_sd_probe(dev, 0); +} + U_BOOT_DRIVER(uniphier_mmc) = { .name = "uniphier-mmc", .id = UCLASS_MMC, .of_match = uniphier_sd_match, .bind = matsu_sd_bind, - .probe = matsu_sd_probe, + .probe = uniphier_sd_probe, .priv_auto_alloc_size = sizeof(struct matsu_sd_priv), .platdata_auto_alloc_size = sizeof(struct matsu_sd_plat), .ops = &uniphier_sd_ops,