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]; | |
28 | int (*get_transition_latency)(struct device *cpu_dev); | |
29 | ||
30 | /* | |
31 | * This must set opp table for cpu_dev in a similar way as done by | |
32 | * of_init_opp_table(). | |
33 | */ | |
34 | int (*init_opp_table)(struct device *cpu_dev); | |
35 | }; | |
36 | ||
4521adf8 VK |
37 | static inline int cpu_to_cluster(int cpu) |
38 | { | |
39 | return topology_physical_package_id(cpu); | |
40 | } | |
41 | ||
8a67f0ef VK |
42 | int bL_cpufreq_register(struct cpufreq_arm_bL_ops *ops); |
43 | void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops); | |
44 | ||
45 | #endif /* CPUFREQ_ARM_BIG_LITTLE_H */ |