From: Quentin Schulz <quentin.sch...@cherry.de> pctl_start() can fail but how this is handled currently is by calling hang() directly in the driver instead of propagating the error and letting other code handling it.
This prepares for a future commit which removes the hang() in favor of letting Rockchip's arch code handle it in a common place. No change in behavior expected in this commit. Signed-off-by: Quentin Schulz <quentin.sch...@cherry.de> --- drivers/ram/rockchip/sdram_rk3399.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c index 6fa8f268770d1c6d69431857e115264957d75703..63d7852555cea3296b7cd9eed422c4d5d1c9776b 100644 --- a/drivers/ram/rockchip/sdram_rk3399.c +++ b/drivers/ram/rockchip/sdram_rk3399.c @@ -791,9 +791,9 @@ static void set_ds_odt(const struct chan_info *chan, phy_io_config(denali_phy, denali_ctl, params, mr5); } -static void pctl_start(struct dram_info *dram, - struct rk3399_sdram_params *params, - u32 channel_mask) +static int pctl_start(struct dram_info *dram, + struct rk3399_sdram_params *params, + u32 channel_mask) { const struct chan_info *chan_0 = &dram->chan[0]; const struct chan_info *chan_1 = &dram->chan[1]; @@ -892,6 +892,8 @@ static void pctl_start(struct dram_info *dram, params->phy_regs.denali_phy[937] & 0xFF); } + + return 0; } static int pctl_cfg(struct dram_info *dram, const struct chan_info *chan, @@ -2940,7 +2942,8 @@ static int sdram_init(struct dram_info *dram, } /* start to trigger initialization */ - pctl_start(dram, params, 3); + if (pctl_start(dram, params, 3)) + return -EINVAL; /* LPDDR2/LPDDR3 need to wait DAI complete, max 10us */ if (dramtype == LPDDR3) -- 2.47.0