linux/arch/arm64/kernel
Lorenzo Pieralisi 8b6f2499ac ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware
ARM64 PSCI kernel interfaces that initialize idle states and implement
the suspend API to enter them are generic and can be shared with the
ARM architecture.

To achieve that goal, this patch moves ARM64 PSCI idle management
code to drivers/firmware, so that the interface to initialize and
enter idle states can actually be shared by ARM and ARM64 arches
back-ends.

The ARM generic CPUidle implementation also requires the definition of
a cpuidle_ops section entry for the kernel to initialize the CPUidle
operations at boot based on the enable-method (ie ARM64 has the
statically initialized cpu_ops counterparts for that purpose); therefore
this patch also adds the required section entry on CONFIG_ARM for PSCI so
that the kernel can initialize the PSCI CPUidle back-end when PSCI is
the probed enable-method.

On ARM64 this patch provides no functional change.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arch/arm64]
Acked-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Jisheng Zhang <jszhang@marvell.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
..
vdso arm64: build vdso without libgcov 2015-11-12 15:18:07 +00:00
.gitignore
acpi.c Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
alternative.c arm64: mm: fold alternatives into .init 2015-12-10 17:36:08 +00:00
arm64ksyms.c ARM: 8480/2: arm64: add implementation for arm-smccc 2016-01-04 16:24:45 +00:00
armv8_deprecated.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
asm-offsets.c * s390: Support for runtime instrumentation within guests, 2016-01-12 13:22:12 -08:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: KVM: Add workaround for Cortex-A57 erratum 834220 2015-11-24 17:58:14 +01:00
cpu_ops.c arm64: force CONFIG_SMP=y and remove redundant #ifdefs 2015-07-27 11:08:40 +01:00
cpufeature.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
cpuidle.c arm64: cpuidle: add __init section marker to arm_cpuidle_init 2015-07-02 17:44:27 +01:00
cpuinfo.c arm64: restore bogomips information in /proc/cpuinfo 2015-11-19 17:57:18 +00:00
debug-monitors.c driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
efi-entry.S arm64/efi: isolate EFI stub from the kernel proper 2015-10-12 16:20:12 +01:00
efi.c arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM 2015-12-09 16:57:23 +00:00
entry32.S arm64: entry32: remove pointless register assignment 2015-07-10 16:47:13 +01:00
entry-fpsimd.S
entry-ftrace.S arm64: ftrace: fix function_graph tracer panic 2015-10-02 11:12:56 +01:00
entry.S arm64: entry: remove pointless SPSR mode check 2016-01-06 15:40:38 +00:00
fpsimd.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
ftrace.c arm64: ftrace: modify a stack frame in a safe way 2015-12-21 17:26:01 +00:00
head.S arm64: head.S: use memset to clear BSS 2016-01-06 16:00:56 +00:00
hw_breakpoint.c arm64: Fix missing #include in hw_breakpoint.c 2015-10-12 12:10:53 +01:00
hyp-stub.S
image.h arm64: Add page size to the kernel image header 2015-10-19 17:54:41 +01:00
insn.c arm64: insn: remove BUG_ON from codegen 2016-01-17 19:15:26 -05:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: remove irq_count and do_softirq_own_stack() 2015-12-21 17:26:01 +00:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kgdb.c arm64/debug: Simplify BRK insn opcode declarations 2015-07-27 11:08:42 +01:00
kuser32.S
Makefile xen: features and fixes for 4.5-rc0 2016-01-12 13:05:36 -08:00
module.c arm64: module: avoid undefined shift behavior in reloc_data() 2016-01-05 11:27:20 +00:00
paravirt.c arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops 2015-12-21 14:40:54 +00:00
pci.c ARM64: PCI: do not enable resources on PROBE_ONLY systems 2015-07-30 20:17:07 +01:00
perf_callchain.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
perf_event.c arm64: perf: add support for Cortex-A72 2015-12-22 14:45:35 +00:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
psci.c ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware 2016-02-11 15:33:38 +00:00
ptrace.c arm64: Clear out any singlestep state on a ptrace detach operation 2015-12-07 17:48:21 +00:00
return_address.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
setup.c arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
signal32.c arm64: compat: fix vfp save/restore across signal handlers in big-endian 2015-09-17 11:57:03 +01:00
signal.c arm64: Removed unused variable 2015-04-13 20:40:10 +02:00
sleep.S arm64: Store struct thread_info in sp_el0 2015-12-08 11:40:48 +00:00
smccc-call.S ARM: 8480/2: arm64: add implementation for arm-smccc 2016-01-04 16:24:45 +00:00
smp_spin_table.c ARM64: kernel: make cpu_ops hooks DT agnostic 2015-05-19 16:09:29 +01:00
smp.c arm64: smp: make of_parse_and_init_cpus static 2015-11-12 15:18:14 +00:00
stacktrace.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
suspend.c arm64: kernel: pause/unpause function graph tracer in cpu_suspend() 2015-11-17 17:11:45 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
time.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
topology.c arm64: kernel: remove non-legit DT warnings when booting using ACPI 2015-07-27 11:08:41 +01:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: traps: address fallout from printk -> pr_* conversion 2015-12-21 17:26:02 +00:00
vdso.c arm64: VDSO: fix coarse clock monotonicity regression 2015-08-10 15:37:45 +01:00
vmlinux.lds.S arm64 updates for 4.5: 2016-01-12 12:23:33 -08:00