Hi Cezary,
Thanks for the review and the suggestion.
I was thinking off a typical teardown procedure - everything is permissive:
// the disable path:
ret = clk_set_parent(CLK_TOP_MUX_AUD_ENG2)
if (ret)
// just error reporting
ret = clk_disable_unprepare(CLK_TOP_MUX_AUD_ENG2)
if (ret)
// just error reporting
ret = clk_set_parent(CLK_TOP_MUX_AUD_2)
if (ret)
// just error reporting
ret = clk_disable_unprepare(CLK_TOP_MUX_AUD_2)
if (ret)
// just error reporting
or, if one wants to do this properly: split apll1/2_mux_setting()
functions into:
void apll1/2_mux_disable()
int apll1/2_mux_enable()
You do not have to go for the split, the first option is just fine.
I will follow the first approach and use a typical teardown procedure,
where all steps are allowed to proceed and any errors are only reported.
Best regards,
Phuc