mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
bus: ti-sysc: Manage clocks for the interconnect target module in all cases
We are currently not managing interconnect target module clocks in the for legacy platform data based case. This causes a problem for using the platform data based functions when dropping the platform data for the interconnect target module configuration. To avoid a situation where we need to populate the main and optional clocks also for the platform data based functions, let's just manage the clocks directly in ti-sysc driver. This means that until the interconnect target module confugration platform data is dropped our use count for clk_enable() will be 2 instead of 1. Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
a3e92e7b32
commit
93de83a21e
@ -783,10 +783,8 @@ static int __maybe_unused sysc_runtime_suspend(struct device *dev)
|
||||
|
||||
if (ddata->legacy_mode) {
|
||||
error = sysc_runtime_suspend_legacy(dev, ddata);
|
||||
if (!error)
|
||||
ddata->enabled = false;
|
||||
|
||||
return error;
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
|
||||
sysc_disable_main_clocks(ddata);
|
||||
@ -809,14 +807,6 @@ static int __maybe_unused sysc_runtime_resume(struct device *dev)
|
||||
if (ddata->enabled)
|
||||
return 0;
|
||||
|
||||
if (ddata->legacy_mode) {
|
||||
error = sysc_runtime_resume_legacy(dev, ddata);
|
||||
if (!error)
|
||||
ddata->enabled = true;
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
if (sysc_opt_clks_needed(ddata)) {
|
||||
error = sysc_enable_opt_clocks(ddata);
|
||||
if (error)
|
||||
@ -825,13 +815,21 @@ static int __maybe_unused sysc_runtime_resume(struct device *dev)
|
||||
|
||||
error = sysc_enable_main_clocks(ddata);
|
||||
if (error)
|
||||
goto err_main_clocks;
|
||||
goto err_opt_clocks;
|
||||
|
||||
if (ddata->legacy_mode) {
|
||||
error = sysc_runtime_resume_legacy(dev, ddata);
|
||||
if (error)
|
||||
goto err_main_clocks;
|
||||
}
|
||||
|
||||
ddata->enabled = true;
|
||||
|
||||
return 0;
|
||||
|
||||
err_main_clocks:
|
||||
sysc_disable_main_clocks(ddata);
|
||||
err_opt_clocks:
|
||||
if (sysc_opt_clks_needed(ddata))
|
||||
sysc_disable_opt_clocks(ddata);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user