msm-4.14/include/soc/qcom/lpm_levels.h
Raju P.L.S.S.S.N 8b6b8fd39a cpuidle: lpm-levels: Add system_pm ops for system level LPMs
Add system_pm ops that are used by LPM driver to configure sleep
and wake votes as well as next wake up time. LPM driver uses them
during system level LPMs.

Change-Id: I72b89aeb3408b89a73d1f0c821649f4f998ab85c
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
2018-04-19 09:53:54 -06:00

31 lines
943 B
C

/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __SOC_QCOM_LPM_LEVEL_H__
#define __SOC_QCOM_LPM_LEVEL_H__
struct system_pm_ops {
int (*enter)(struct cpumask *mask);
void (*exit)(void);
int (*update_wakeup)(bool);
bool (*sleep_allowed)(void);
};
#ifdef CONFIG_MSM_PM
uint32_t register_system_pm_ops(struct system_pm_ops *pm_ops);
#else
static inline uint32_t register_system_pm_ops(struct system_pm_ops *pm_ops)
{ return -ENODEV; }
#endif
#endif