| /* |
| * Copyright (c) 2014, 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 __ARCH_ARM_MACH_MSM_LPM_STATS_H |
| #define __ARCH_ARM_MACH_MSM_LPM_STATS_H |
| |
| struct lpm_stats; |
| |
| #ifdef CONFIG_MSM_IDLE_STATS |
| struct lpm_stats *lpm_stats_config_level(const char *name, |
| const char **levels, int num_levels, struct lpm_stats *parent, |
| struct cpumask *mask); |
| void lpm_stats_cluster_enter(struct lpm_stats *stats, uint32_t index); |
| void lpm_stats_cluster_exit(struct lpm_stats *stats, uint32_t index, |
| bool success); |
| void lpm_stats_cpu_enter(uint32_t index); |
| void lpm_stats_cpu_exit(uint32_t index, bool success); |
| void lpm_stats_suspend_enter(void); |
| void lpm_stats_suspend_exit(void); |
| #else |
| static inline struct lpm_stats *lpm_stats_config_level(const char *name, |
| const char **levels, int num_levels, struct lpm_stats *parent, |
| struct cpumask *mask) |
| { |
| return ERR_PTR(-ENODEV); |
| } |
| |
| static inline void lpm_stats_cluster_enter(struct lpm_stats *stats, |
| uint32_t index) |
| { |
| return; |
| } |
| |
| static inline void lpm_stats_cluster_exit(struct lpm_stats *stats, |
| uint32_t index, bool success) |
| { |
| return; |
| } |
| |
| static inline void lpm_stats_cpu_enter(uint32_t index) |
| { |
| return; |
| } |
| |
| static inline void lpm_stats_cpu_exit(uint32_t index, bool success) |
| { |
| return; |
| } |
| |
| static inline void lpm_stats_suspend_enter(void) |
| { |
| return; |
| } |
| |
| static inline void lpm_stats_suspend_exit(void) |
| { |
| return; |
| } |
| #endif |
| #endif /* __ARCH_ARM_MACH_MSM_LPM_STATS_H */ |