mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
power: supply: charger-manager: Switch to alarm_start_timer()
The existing alarm_start() interface is replaced with the new alarm_start_timer() mechanism, which does not longer queue an already expired timer and returns the state. Adjust the code to utilize this. No functional change intended. Signed-off-by: Thomas Gleixner <tglx@kernel.org> Acked-by: Sebastian Reichel <sebastian.reichel@collabora.com> Link: https://patch.msgid.link/20260408114952.536945376@kernel.org
This commit is contained in:
parent
7dda99952c
commit
9fa2e38ab7
|
|
@ -881,26 +881,22 @@ static bool cm_setup_timer(void)
|
|||
mutex_unlock(&cm_list_mtx);
|
||||
|
||||
if (timer_req && cm_timer) {
|
||||
ktime_t now, add;
|
||||
|
||||
/*
|
||||
* Set alarm with the polling interval (wakeup_ms)
|
||||
* The alarm time should be NOW + CM_RTC_SMALL or later.
|
||||
*/
|
||||
if (wakeup_ms == UINT_MAX ||
|
||||
wakeup_ms < CM_RTC_SMALL * MSEC_PER_SEC)
|
||||
if (wakeup_ms == UINT_MAX || wakeup_ms < CM_RTC_SMALL * MSEC_PER_SEC)
|
||||
wakeup_ms = 2 * CM_RTC_SMALL * MSEC_PER_SEC;
|
||||
|
||||
pr_info("Charger Manager wakeup timer: %u ms\n", wakeup_ms);
|
||||
|
||||
now = ktime_get_boottime();
|
||||
add = ktime_set(wakeup_ms / MSEC_PER_SEC,
|
||||
(wakeup_ms % MSEC_PER_SEC) * NSEC_PER_MSEC);
|
||||
alarm_start(cm_timer, ktime_add(now, add));
|
||||
|
||||
cm_suspend_duration_ms = wakeup_ms;
|
||||
|
||||
return true;
|
||||
/*
|
||||
* The timer should always be queued as the timeout is at least
|
||||
* two seconds out. Handle it correctly nevertheless.
|
||||
*/
|
||||
return alarm_start_timer(cm_timer, ktime_add_ms(0, wakeup_ms), true);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user