summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-10-22 01:19:19 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-10-22 01:19:20 -0600
commit3bc48e6ff186a1cda9b62b16ef60c7ca0568ca68 (patch)
tree34283bbaa7d08866e06b7d18d353e644f933be11 /include/linux
parent8872faa0ca8698d138361a1d09237e0ca81b4a62 (diff)
parent876d57315fbf6751b6f2ddc10cbc67d49455bd60 (diff)
Promotion of kernel.lnx.4.4-161022.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 1069108 Iffc380898eac33f6c30c3808eb38d7bb499f5769 driver: thermal: msm_lmh_dcvs: Match the hardware freque 1077693 I59d4472b49b67f481992867a34e6779a4589d035 fg-util: fix a possible buffer overflow 1079245 Iee80fd2bf4b549665a12791009f0cf5ecc7653b9 msm: gsi: add command stats 1080510 I2ddb8b3b96063be3c6a6cb6bc333998e007f9de7 sched/core_ctl: Move header file to global location 1072739 I1405a8561b1ecb2e3da87ed8b26fb087433a1c11 ARM: dts: msm: Change pinctrl settings for BLSP1 UART3 f 1069108 If042fdae3102390dca6d5b1e257b38504b14320f defconfig: Enable generic cpu cooling device for msmcoba 1069108 I23762895d04dd6f1da8bb496f2a4cf22c1b34216 driver: thermal: msm_lmh_dcvs: Register LMH DCVS cooling 1080510 Iad0a9fc45f1ce87433995e8e549bfca80e8b9cb2 core_ctl: Add refcounting to boost api 1069108 I47960b002bf1bce1cd588de2892de46793a95562 drivers: thermal: cpu_cooling: allow platform freq mitig 1079061 Ia90832f9280f69c367c5d9f404b0d27c656e5c28 input: misc: pat9125: add sysfs for suspend-resume test Change-Id: Ib2dcbeb2d85e602236c2196f3f306ab405b26f9f CRs-Fixed: 1079061, 1072739, 1069108, 1079245, 1080510, 1077693
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/cpu_cooling.h16
-rw-r--r--include/linux/sched/core_ctl.h27
2 files changed, 43 insertions, 0 deletions
diff --git a/include/linux/cpu_cooling.h b/include/linux/cpu_cooling.h
index c156f5082758..e221494fb7a0 100644
--- a/include/linux/cpu_cooling.h
+++ b/include/linux/cpu_cooling.h
@@ -31,6 +31,11 @@
typedef int (*get_static_t)(cpumask_t *cpumask, int interval,
unsigned long voltage, u32 *power);
+struct cpu_cooling_ops {
+ int (*ceil_limit)(int, u32);
+ int (*get_cur_state)(int, unsigned long *);
+};
+
#ifdef CONFIG_CPU_THERMAL
/**
* cpufreq_cooling_register - function to create cpufreq cooling device.
@@ -43,6 +48,10 @@ struct thermal_cooling_device *
cpufreq_power_cooling_register(const struct cpumask *clip_cpus,
u32 capacitance, get_static_t plat_static_func);
+struct thermal_cooling_device *
+cpufreq_platform_cooling_register(const struct cpumask *clip_cpus,
+ struct cpu_cooling_ops *ops);
+
/**
* of_cpufreq_cooling_register - create cpufreq cooling device based on DT.
* @np: a valid struct device_node to the cooling device device tree node.
@@ -112,6 +121,13 @@ of_cpufreq_power_cooling_register(struct device_node *np,
return NULL;
}
+static inline struct thermal_cooling_device *
+cpufreq_platform_cooling_register(const struct cpumask *clip_cpus,
+ struct cpu_cooling_ops *ops)
+{
+ return NULL;
+}
+
static inline
void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
{
diff --git a/include/linux/sched/core_ctl.h b/include/linux/sched/core_ctl.h
new file mode 100644
index 000000000000..98d7cb3e899b
--- /dev/null
+++ b/include/linux/sched/core_ctl.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2016, 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 __CORE_CTL_H
+#define __CORE_CTL_H
+
+#ifdef CONFIG_SCHED_CORE_CTL
+void core_ctl_check(u64 wallclock);
+int core_ctl_set_boost(bool boost);
+#else
+static inline void core_ctl_check(u64 wallclock) {}
+static inline int core_ctl_set_boost(bool boost)
+{
+ return 0;
+}
+#endif
+#endif