Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f2c5236 authored by Olav Haugan's avatar Olav Haugan
Browse files

core_ctl_helper: Remove code since it is not used anymore



Remove the core control helper code since this is not needed anymore
with subsequent patches that moves core control into the kernel.

Change-Id: I62acddeb707fc7d5626580166b3466e63f45fd89
Signed-off-by: default avatarOlav Haugan <ohaugan@codeaurora.org>
parent 75c9d183
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -716,14 +716,6 @@ config MSM_KERNEL_PROTECT_TEST
          read-only.  This test is FATAL whether it passes or fails!
          Success is signaled by a stage-2 fault.

config MSM_CORE_CTL_HELPER
	tristate "Core control helper functions for dynamically hotplug CPUs"
	help
	  Provide helper functions for core control driver. Core control
	  driver dynamically hotplugs CPUs from kernel based on current
	  system load and state. It also supports limiting min and
	  max online CPUs from userspace.

config QCOM_REMOTEQDSS
	bool "Allow debug tools to enable events on other processors"
	depends on QCOM_SCM && DEBUG_FS
+0 −1
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ obj-$(CONFIG_MEM_SHARE_QMI_SERVICE) += memshare/
obj-$(CONFIG_MSM_PIL_SSR_GENERIC) += subsys-pil-tz.o
obj-$(CONFIG_MSM_PIL_MSS_QDSP6V5) += pil-q6v5.o pil-msa.o pil-q6v5-mss.o
obj-$(CONFIG_MSM_PIL)   +=      peripheral-loader.o
obj-$(CONFIG_MSM_CORE_CTL_HELPER) += core_ctl_helper.o
obj-$(CONFIG_MSM_PFE_WA) += pfe-wa.o
obj-$(CONFIG_ARCH_MSM8996) += msm_cpu_voltage.o

+0 −99
Original line number Diff line number Diff line
/*
 * Copyright (c) 2014-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.
 */

#include <linux/cpu.h>
#include <linux/cpufreq.h>
#include <linux/ktime.h>
#include <linux/hrtimer.h>
#include <linux/module.h>
#include <linux/init.h>
#include <trace/events/power.h>
#include <soc/qcom/core_ctl.h>

void core_ctl_trace(int type, int cpu, int arg1, int arg2, int arg3)
{
	switch (type) {
	case CORE_CTL_EVAL_NEED:
		trace_core_ctl_eval_need(cpu, arg1, arg2, arg3);
	break;

	case CORE_CTL_SET_BUSY:
		 trace_core_ctl_set_busy(cpu, arg1, arg2, arg3);
	break;
	};
}
EXPORT_SYMBOL(core_ctl_trace);

void core_ctl_block_hotplug(void)
{
	get_online_cpus();
}
EXPORT_SYMBOL(core_ctl_block_hotplug);

void core_ctl_unblock_hotplug(void)
{
	put_online_cpus();
}
EXPORT_SYMBOL(core_ctl_unblock_hotplug);

s64 core_ctl_get_time(void)
{
	return ktime_to_ms(ktime_get());
}
EXPORT_SYMBOL(core_ctl_get_time);

struct cpufreq_policy *core_ctl_get_policy(int cpu)
{
	return cpufreq_cpu_get(cpu);
}
EXPORT_SYMBOL(core_ctl_get_policy);

void core_ctl_put_policy(struct cpufreq_policy *policy)
{
	cpufreq_cpu_put(policy);
}
EXPORT_SYMBOL(core_ctl_put_policy);

struct device *core_ctl_find_cpu_device(unsigned cpu)
{
	return get_cpu_device(cpu);
}
EXPORT_SYMBOL(core_ctl_find_cpu_device);

int __ref core_ctl_online_core(unsigned int cpu)
{
	int ret = -EINVAL;
	struct device *dev = get_cpu_device(cpu);

	if (dev) {
		lock_device_hotplug();
		ret = device_online(dev);
		unlock_device_hotplug();
	}
	return ret;
}
EXPORT_SYMBOL(core_ctl_online_core);

int __ref core_ctl_offline_core(unsigned int cpu)
{
	int ret = -EINVAL;
	struct device *dev = get_cpu_device(cpu);

	if (dev) {
		lock_device_hotplug();
		ret = device_offline(dev);
		unlock_device_hotplug();
	}
	return ret;
}
EXPORT_SYMBOL(core_ctl_offline_core);

include/soc/qcom/core_ctl.h

deleted100644 → 0
+0 −35
Original line number Diff line number Diff line
/*
 * Copyright (c) 2014-2015, 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_CORE_CTL_H
#define __SOC_QCOM_CORE_CTL_H

enum {
	CORE_CTL_EVAL_NEED,
	CORE_CTL_SET_BUSY,
	CORE_CTL_N_TRACE_EVENTS,
};

extern void core_ctl_block_hotplug(void);
extern void core_ctl_unblock_hotplug(void);
extern s64 core_ctl_get_time(void);
extern struct cpufreq_policy *core_ctl_get_policy(int cpu);
extern void core_ctl_put_policy(struct cpufreq_policy *policy);
extern struct device *core_ctl_find_cpu_device(unsigned cpu);
extern int core_ctl_online_core(unsigned int cpu);
extern int core_ctl_offline_core(unsigned int cpu);

#define USE_CORE_CTL_TRACE
extern void core_ctl_trace(int type, int cpu, int arg1, int arg2, int arg3);

#endif
+0 −2
Original line number Diff line number Diff line
@@ -15,5 +15,3 @@

EXPORT_TRACEPOINT_SYMBOL_GPL(suspend_resume);
EXPORT_TRACEPOINT_SYMBOL_GPL(cpu_idle);
EXPORT_TRACEPOINT_SYMBOL(core_ctl_set_busy);
EXPORT_TRACEPOINT_SYMBOL(core_ctl_eval_need);