Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 999f33c2 authored by Suman Anna's avatar Suman Anna Committed by Greg Kroah-Hartman
Browse files

bus: ti-sysc: Simplify cleanup upon failures in sysc_probe()



[ Upstream commit a304f483b6b00d42bde41c45ca52c670945348e2 ]

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: default avatarSuman Anna <s-anna@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 1a85d581
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -1685,7 +1685,7 @@ static int sysc_probe(struct platform_device *pdev)

	error = sysc_init_dts_quirks(ddata);
	if (error)
		goto unprepare;
		return error;

	error = sysc_get_clocks(ddata);
	if (error)
@@ -1693,27 +1693,27 @@ static int sysc_probe(struct platform_device *pdev)

	error = sysc_map_and_check_registers(ddata);
	if (error)
		goto unprepare;
		return error;

	error = sysc_init_sysc_mask(ddata);
	if (error)
		goto unprepare;
		return error;

	error = sysc_init_idlemodes(ddata);
	if (error)
		goto unprepare;
		return error;

	error = sysc_init_syss_mask(ddata);
	if (error)
		goto unprepare;
		return error;

	error = sysc_init_pdata(ddata);
	if (error)
		goto unprepare;
		return error;

	error = sysc_init_resets(ddata);
	if (error)
		return error;
		goto unprepare;

	pm_runtime_enable(ddata->dev);
	error = sysc_init_module(ddata);