diff options
| author | Alex Elder <[email protected]> | 2021-08-10 19:27:01 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2021-08-11 12:31:56 +0000 |
| commit | 63de79f031dedeb64fb1a5fc7f07f5f51fcbf7a0 (patch) | |
| tree | d7b6a24d2a266889285253c29f6ab27d383764c1 /drivers/fpga/fpga-mgr.c | |
| parent | net: ipa: resume in ipa_clock_get() (diff) | |
| download | kernel-63de79f031dedeb64fb1a5fc7f07f5f51fcbf7a0.tar.gz kernel-63de79f031dedeb64fb1a5fc7f07f5f51fcbf7a0.zip | |
net: ipa: use runtime PM core
Use the runtime power management core to cause hardware suspend and
resume to occur. Enable it in ipa_clock_init() (without autosuspend),
and disable it in ipa_clock_exit().
Use ipa_runtime_suspend() as the ->runtime_suspend power operation,
and arrange for it to be called by having ipa_clock_get() call
pm_runtime_get_sync() when the first clock reference is taken.
Similarly, use ipa_runtime_resume() as the ->runtime_resume power
operation, and pm_runtime_put() when the last IPA clock reference
is dropped.
Introduce ipa_runtime_idle() as the ->runtime_idle power operation,
and have it return a non-zero value; this way suspend will never
occur except when forced.
Use pm_runtime_force_suspend() and pm_runtime_force_resume() as the
system suspend and resume callbacks, and remove ipa_suspend() and
ipa_resume().
Store a pointer to the device structure passed to ipa_clock_init(),
so it can be used by ipa_clock_exit() to disable runtime power
management.
For now we preserve IPA clock reference counting.
Signed-off-by: Alex Elder <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/fpga/fpga-mgr.c')
0 files changed, 0 insertions, 0 deletions
