Commit | Line | Data |
---|---|---|
8a67f0ef VK |
1 | /* |
2 | * ARM big.LITTLE platform's CPUFreq header file | |
3 | * | |
4 | * Copyright (C) 2013 ARM Ltd. | |
5 | * Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | |
6 | * | |
7 | * Copyright (C) 2013 Linaro. | |
8 | * Viresh Kumar <viresh.kumar@linaro.org> | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify | |
11 | * it under the terms of the GNU General Public License version 2 as | |
12 | * published by the Free Software Foundation. | |
13 | * | |
14 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | |
15 | * kind, whether express or implied; without even the implied warranty | |
16 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | * GNU General Public License for more details. | |
18 | */ | |
19 | #ifndef CPUFREQ_ARM_BIG_LITTLE_H | |
20 | #define CPUFREQ_ARM_BIG_LITTLE_H | |
21 | ||
22 | #include <linux/cpufreq.h> | |
23 | #include <linux/device.h> | |
24 | #include <linux/types.h> | |
25 | ||
26 | struct cpufreq_arm_bL_ops { | |
27 | char name[CPUFREQ_NAME_LEN]; | |
8a67f0ef VK |
28 | |
29 | /* | |
30 | * This must set opp table for cpu_dev in a similar way as done by | |
8f8d37b2 | 31 | * dev_pm_opp_of_add_table(). |
8a67f0ef | 32 | */ |
d9975b0b | 33 | int (*init_opp_table)(const struct cpumask *cpumask); |
493b4cd2 VK |
34 | |
35 | /* Optional */ | |
36 | int (*get_transition_latency)(struct device *cpu_dev); | |
d9975b0b | 37 | void (*free_opp_table)(const struct cpumask *cpumask); |
8a67f0ef VK |
38 | }; |
39 | ||
40 | int bL_cpufreq_register(struct cpufreq_arm_bL_ops *ops); | |
41 | void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops); | |
42 | ||
43 | #endif /* CPUFREQ_ARM_BIG_LITTLE_H */ |