forked from Minki/linux
mmc: dw_mmc: move the platform specific init call
Current platform specific private data initialization call dw_mci_exynos_priv_init() can be used to do platform specific initialization of SMU and others in future. So the drv_data->init call has moved to dw_mci_probe(). Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com> Tested-by: Alim Akhtar <alim.akhtar@samsung.com> Tested-by: Jaehoon Chung <jh80.chung@samsung.com> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
3aa741f395
commit
002f0d5c63
@ -39,7 +39,6 @@ int dw_mci_pltfm_register(struct platform_device *pdev,
|
||||
{
|
||||
struct dw_mci *host;
|
||||
struct resource *regs;
|
||||
int ret;
|
||||
|
||||
host = devm_kzalloc(&pdev->dev, sizeof(struct dw_mci), GFP_KERNEL);
|
||||
if (!host)
|
||||
@ -59,12 +58,6 @@ int dw_mci_pltfm_register(struct platform_device *pdev,
|
||||
if (IS_ERR(host->regs))
|
||||
return PTR_ERR(host->regs);
|
||||
|
||||
if (drv_data && drv_data->init) {
|
||||
ret = drv_data->init(host);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, host);
|
||||
return dw_mci_probe(host);
|
||||
}
|
||||
|
@ -2227,6 +2227,15 @@ int dw_mci_probe(struct dw_mci *host)
|
||||
host->bus_hz = clk_get_rate(host->ciu_clk);
|
||||
}
|
||||
|
||||
if (drv_data && drv_data->init) {
|
||||
ret = drv_data->init(host);
|
||||
if (ret) {
|
||||
dev_err(host->dev,
|
||||
"implementation specific init failed\n");
|
||||
goto err_clk_ciu;
|
||||
}
|
||||
}
|
||||
|
||||
if (drv_data && drv_data->setup_clock) {
|
||||
ret = drv_data->setup_clock(host);
|
||||
if (ret) {
|
||||
|
Loading…
Reference in New Issue
Block a user