mirror of https://gitee.com/openkylin/linux.git
bus: ti-sysc: Simplify cleanup upon failures in sysc_probe()
The clocks are not yet parsed and prepared until after a successful sysc_get_clocks(), so there is no need to unprepare the clocks upon any failure of any of the prior functions in sysc_probe(). The current code path would have been a no-op because of the clock validity checks within sysc_unprepare(), but let's just simplify the cleanup path by returning the error directly. While at this, also fix the cleanup path for a sysc_init_resets() failure which is executed after the clocks are prepared. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
89bbc6f1eb
commit
a304f483b6
|
@ -2383,27 +2383,27 @@ static int sysc_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
error = sysc_init_dts_quirks(ddata);
|
error = sysc_init_dts_quirks(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
goto unprepare;
|
return error;
|
||||||
|
|
||||||
error = sysc_map_and_check_registers(ddata);
|
error = sysc_map_and_check_registers(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
goto unprepare;
|
return error;
|
||||||
|
|
||||||
error = sysc_init_sysc_mask(ddata);
|
error = sysc_init_sysc_mask(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
goto unprepare;
|
return error;
|
||||||
|
|
||||||
error = sysc_init_idlemodes(ddata);
|
error = sysc_init_idlemodes(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
goto unprepare;
|
return error;
|
||||||
|
|
||||||
error = sysc_init_syss_mask(ddata);
|
error = sysc_init_syss_mask(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
goto unprepare;
|
return error;
|
||||||
|
|
||||||
error = sysc_init_pdata(ddata);
|
error = sysc_init_pdata(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
goto unprepare;
|
return error;
|
||||||
|
|
||||||
sysc_init_early_quirks(ddata);
|
sysc_init_early_quirks(ddata);
|
||||||
|
|
||||||
|
@ -2413,7 +2413,7 @@ static int sysc_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
error = sysc_init_resets(ddata);
|
error = sysc_init_resets(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
return error;
|
goto unprepare;
|
||||||
|
|
||||||
error = sysc_init_module(ddata);
|
error = sysc_init_module(ddata);
|
||||||
if (error)
|
if (error)
|
||||||
|
|
Loading…
Reference in New Issue