Commit 471f80db authored by Michael Walle's avatar Michael Walle Committed by Will Deacon
Browse files

arm64: cpuidle: remove generic cpuidle support



The arm64 support of the generic ARM cpuidle driver was removed. This
let us remove all support code for it.

Signed-off-by: default avatarMichael Walle <michael@walle.cc>
Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20220529181329.2345722-3-michael@walle.cc


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 51280aca
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -31,11 +31,6 @@
 * @cpu_die:	Makes a cpu leave the kernel. Must not fail. Called from the
 *		cpu being killed.
 * @cpu_kill:  Ensures a cpu has left the kernel. Called from another cpu.
 * @cpu_init_idle: Reads any data necessary to initialize CPU idle states for
 *		   a proposed logical id.
 * @cpu_suspend: Suspends a cpu and saves the required context. May fail owing
 *               to wrong parameters or error conditions. Called from the
 *               CPU being suspended. Must be called with IRQs disabled.
 */
struct cpu_operations {
	const char	*name;
@@ -49,10 +44,6 @@ struct cpu_operations {
	void		(*cpu_die)(unsigned int cpu);
	int		(*cpu_kill)(unsigned int cpu);
#endif
#ifdef CONFIG_CPU_IDLE
	int		(*cpu_init_idle)(unsigned int);
	int		(*cpu_suspend)(unsigned long);
#endif
};

int __init init_cpu_ops(int cpu);
+0 −15
Original line number Diff line number Diff line
@@ -4,21 +4,6 @@

#include <asm/proc-fns.h>

#ifdef CONFIG_CPU_IDLE
extern int arm_cpuidle_init(unsigned int cpu);
extern int arm_cpuidle_suspend(int index);
#else
static inline int arm_cpuidle_init(unsigned int cpu)
{
	return -EOPNOTSUPP;
}

static inline int arm_cpuidle_suspend(int index)
{
	return -EOPNOTSUPP;
}
#endif

#ifdef CONFIG_ARM64_PSEUDO_NMI
#include <asm/arch_gicv3.h>

+0 −29
Original line number Diff line number Diff line
@@ -13,35 +13,6 @@
#include <linux/of_device.h>
#include <linux/psci.h>

#include <asm/cpuidle.h>
#include <asm/cpu_ops.h>

int arm_cpuidle_init(unsigned int cpu)
{
	const struct cpu_operations *ops = get_cpu_ops(cpu);
	int ret = -EOPNOTSUPP;

	if (ops && ops->cpu_suspend && ops->cpu_init_idle)
		ret = ops->cpu_init_idle(cpu);

	return ret;
}

/**
 * arm_cpuidle_suspend() - function to enter a low-power idle state
 * @index: argument to pass to CPU suspend operations
 *
 * Return: 0 on success, -EOPNOTSUPP if CPU suspend hook not initialized, CPU
 * operations back-end error code otherwise.
 */
int arm_cpuidle_suspend(int index)
{
	int cpu = smp_processor_id();
	const struct cpu_operations *ops = get_cpu_ops(cpu);

	return ops->cpu_suspend(index);
}

#ifdef CONFIG_ACPI

#include <acpi/processor.h>