linux/arch/arm64/include/asm
Mark Rutland c5a1330573 arm64: psci: remove ACPI coupling
The 32-bit ARM port doesn't have ACPI headers, and conditionally
including them is going to look horrendous. In preparation for sharing
the PSCI invocation code with 32-bit, move the acpi_psci_* function
declarations and definitions such that the PSCI client code need not
include ACPI headers.

While it would seem like we could simply hide the ACPI includes in
psci.h, the ACPI headers have hilarious circular dependencies which make
this infeasible without reorganising most of ACPICA. So rather than
doing that, move the acpi_psci_* prototypes into psci.h.

The psci_acpi_init function is made dependent on CONFIG_ACPI (with a
stub implementation in asm/psci.h) such that it need not be built for
32-bit ARM or kernels without ACPI support. The currently missing __init
annotations are added to the prototypes in the header.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Hanjun Guo <hanjun.guo@linaro.org>
Reviewed-by: Al Stone <al.stone@linaro.org>
Reviewed-by: Ashwin Chaugule <ashwin.chaugule@linaro.org>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
2015-05-27 13:22:24 +01:00
..
xen xen/arm/arm64: merge xen/mm32.c into xen/mm.c 2014-12-04 12:41:53 +00:00
acenv.h ARM64 / ACPI: Get RSDP and ACPI boot-time tables 2015-03-25 11:49:30 +00:00
acpi.h arm64: psci: remove ACPI coupling 2015-05-27 13:22:24 +01:00
alternative-asm.h arm64: add Cortex-A53 cache errata workaround 2014-11-25 15:56:21 +00:00
alternative.h arm64: add module support for alternatives fixups 2014-12-04 10:28:24 +00:00
arch_timer.h arm64: fix missing linux/bug.h include in asm/arch_timer.h 2015-01-07 11:40:59 +00:00
arm-cci.h arm-cci: Get rid of secure transactions for PMU driver 2015-03-27 13:44:35 +00:00
asm-offsets.h
assembler.h arm64: add macros for common adrp usages 2015-03-19 19:46:01 +00:00
atomic.h locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() 2014-10-03 06:06:23 +02:00
barrier.h arm64: add missing data types in smp_load_acquire/smp_store_release 2015-04-27 11:39:04 +01:00
bitops.h arch,arm64: Convert smp_mb__*() 2014-04-18 11:40:33 +02:00
bitrev.h ARM: 8189/1: arm64:add bitrev.h file to support rbit instruction 2014-12-22 16:47:32 +00:00
cache.h arm64: Implement support for read-mostly sections 2014-12-03 10:19:35 +00:00
cacheflush.h arm64: add better page protections to arm64 2015-01-22 14:54:29 +00:00
cachetype.h arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cmpxchg.h arm64: percpu: Make this_cpu accessors pre-empt safe 2015-03-24 18:02:55 +00:00
compat.h arm64: compat: Remove incorrect comment in compat_siginfo 2015-02-02 16:44:39 +00:00
compiler.h arm64: Miscellaneous header files 2012-09-17 13:42:21 +01:00
cpu_ops.h ARM64: kernel: unify ACPI and DT cpus initialization 2015-05-19 16:09:29 +01:00
cpu.h arm64: sanity checks: add missing AArch32 registers 2015-01-07 11:40:58 +00:00
cpufeature.h arm64: errata: add workaround for cortex-a53 erratum #845719 2015-04-01 10:24:31 +01:00
cpuidle.h ARM64: cpuidle: Rename cpu_init_idle to a common function name 2015-03-24 10:16:09 +01:00
cputype.h arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
debug-monitors.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
device.h arm64: introduce is_device_dma_coherent 2014-12-04 12:41:49 +00:00
dma-mapping.h arm64: Use bool function return values of true/false not 1/0 2015-03-31 16:28:44 +01:00
dmi.h arm64: dmi: Add SMBIOS/DMI support 2014-11-05 09:03:25 +01:00
efi.h arm64/efi: move virtmap init to early initcall 2015-01-22 14:59:25 +00:00
elf.h mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE 2015-04-14 16:49:05 -07:00
esr.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
exception.h arm64: Use irqchip_init() for interrupt controller initialisation 2013-03-26 16:02:23 +00:00
exec.h arm64: Miscellaneous header files 2012-09-17 13:42:21 +01:00
fb.h arm64: Device specific operations 2012-09-17 13:42:04 +01:00
fixmap.h Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
fpsimd.h arm64: add support for kernel mode NEON in interrupt context 2014-05-08 11:31:57 +02:00
fpsimdmacros.h arm64: Avoid breakage caused by .altmacro in fpsimd save/restore macros 2015-01-29 17:24:39 +00:00
ftrace.h arm64: ftrace: Add system call tracepoint 2014-05-29 09:08:33 +01:00
futex.h arm64: asm: remove redundant "cc" clobbers 2014-02-07 16:46:07 +00:00
hardirq.h smp, ARM64: Kill SMP single function call interrupt 2015-01-23 18:06:47 +00:00
hugetlb.h ARM64: mm: HugeTLB support. 2013-06-14 09:52:40 +01:00
hw_breakpoint.h arm64: ptrace: fix compat hardware watchpoint reporting 2014-08-28 20:01:36 +01:00
hwcap.h arm64: Add COMPAT_HWCAP_LPAE 2014-11-17 10:43:42 +00:00
hypervisor.h arm64/xen: introduce asm/xen header files on arm64 2013-06-07 10:39:45 +00:00
insn.h arm64: insn: Add aarch64_insn_decode_immediate 2015-03-30 11:03:42 +01:00
io.h arm64: Fix overlapping VA allocations 2015-01-23 14:13:14 +00:00
irq_work.h arm64: Fix compilation error on UP builds 2014-10-21 17:01:07 +01:00
irq.h irqchip: Add GICv2 specific ACPI boot support 2015-03-26 15:13:07 +00:00
irqflags.h arm64: Add macros to manage processor debug state 2014-02-26 11:16:25 +00:00
jump_label.h jump_label: Allow asm/jump_label.h to be included in assembly 2015-04-09 09:40:23 +02:00
Kbuild Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
kgdb.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kvm_arm.h KVM/ARM changes for v4.1: 2015-04-07 18:09:20 +02:00
kvm_asm.h KVM: arm64: ARMv8 header changes for page logging 2015-01-16 14:42:48 +01:00
kvm_coproc.h arm64: KVM: common infrastructure for handling AArch32 CP14/CP15 2014-07-11 04:57:44 -07:00
kvm_emulate.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
kvm_host.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
kvm_mmio.h KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00
kvm_mmu.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
kvm_psci.h ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible 2014-04-30 04:18:57 -07:00
linkage.h arm64: fix alignment padding in assembly code 2012-10-20 11:12:01 +01:00
memblock.h arm64: MMU initialisation 2012-09-17 13:41:56 +01:00
memory.h arm64: Fix overlapping VA allocations 2015-01-23 14:13:14 +00:00
mmu_context.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
mmu.h arm64/efi: remove idmap manipulations from UEFI code 2015-01-12 16:29:32 +00:00
module.h arm64: Loadable modules 2012-09-17 13:42:19 +01:00
neon.h arm64: add support for kernel mode NEON in interrupt context 2014-05-08 11:31:57 +02:00
opcodes.h arm64: Add AArch32 instruction set condition code checks 2014-11-20 16:33:45 +00:00
page.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
pci.h ARM64 / ACPI: Introduce PCI stub functions for ACPI 2015-03-25 11:49:31 +00:00
percpu.h arm64: percpu: Make this_cpu accessors pre-empt safe 2015-03-24 18:02:55 +00:00
perf_event.h arm64: perf: add guest vs host discrimination 2013-01-29 16:56:17 +00:00
pgalloc.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pgtable-hwdef.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
pgtable-types.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pgtable.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pmu.h arm64: pmu: add support for interrupt-affinity property 2015-03-24 15:09:47 +00:00
proc-fns.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
processor.h arm64: Implement cpu_relax as yield 2015-03-17 10:17:29 +00:00
psci.h arm64: psci: remove ACPI coupling 2015-05-27 13:22:24 +01:00
ptrace.h arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
seccomp.h arm64: add seccomp support 2014-11-28 10:24:59 +00:00
shmparam.h arm64: ELF definitions 2012-09-17 13:42:07 +01:00
signal32.h arm64: Use get_signal() signal_setup_done() 2014-08-06 12:56:16 +02:00
smp_plat.h arm64: smp_plat: add get_logical_index 2015-05-27 13:21:34 +01:00
smp.h ARM64: kernel: unify ACPI and DT cpus initialization 2015-05-19 16:09:29 +01:00
sparsemem.h arm64: mm: update max pa bits to 48 2014-08-19 20:23:02 +01:00
spinlock_types.h arm64: Fix the endianness of arch_spinlock_t 2013-10-25 16:10:22 +01:00
spinlock.h arm64/spinlock: Replace ACCESS_ONCE READ_ONCE 2014-12-18 09:54:40 +01:00
stackprotector.h arm64: Add CONFIG_CC_STACKPROTECTOR 2014-07-09 12:23:48 +01:00
stacktrace.h arm64: Exception handling 2012-09-17 10:24:46 +01:00
stat.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
string.h arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
suspend.h arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
sync_bitops.h arm64/xen: introduce asm/xen header files on arm64 2013-06-07 10:39:45 +00:00
syscall.h arm64: Add audit support 2014-07-10 11:06:00 +01:00
sysreg.h arm64: gicv3: Allow GICv3 compilation with older binutils 2014-07-25 13:12:15 +01:00
system_misc.h arm64: use common reboot infrastructure 2013-07-19 15:57:08 +01:00
thread_info.h arm64: Remove signal translation and exec_domain 2015-04-12 20:58:24 +02:00
timex.h arm64: kernel: compiling issue, need delete read_current_timer() 2013-06-10 17:58:20 +01:00
tlb.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
tlbflush.h arm64: Invalidate the TLB corresponding to intermediate page table levels 2015-03-14 10:48:30 +00:00
topology.h arm64: sched: Remove unused mc_capable() and smt_capable() 2014-05-16 17:12:04 +01:00
traps.h arm64: Add support for hooks to handle undefined instructions 2014-11-20 16:33:43 +00:00
uaccess.h arm64: macro whitespace fixes 2015-01-13 15:23:53 +02:00
unistd32.h arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
unistd.h arm64 updates for 3.20: 2015-02-11 18:03:54 -08:00
vdso_datapage.h arm64: VDSO support 2012-09-17 13:42:09 +01:00
vdso.h arm64: VDSO support 2012-09-17 13:42:09 +01:00
virt.h arm64: KVM: remove __kvm_hyp_code_{start,end} from hyp.S 2014-07-11 04:57:35 -07:00
word-at-a-time.h arm64: dcache: select DCACHE_WORD_ACCESS for little-endian CPUs 2013-12-19 17:43:08 +00:00