linux/arch/arm
Nicolas Pitre d0cdef6e87 ARM: 7842/1: MCPM: don't explode if invoked without being initialized first
Currently mcpm_cpu_power_down() and mcpm_cpu_suspend() trigger BUG()
if mcpm_platform_register() is not called beforehand.  This may occur
for many reasons such as some incomplete device tree passed to the kernel
or the like.

Let's be nicer to users and avoid killing the kernel if that happens by
logging a warning and returning to the caller.  The mcpm_cpu_suspend()
user is already set to deal with this situation, and so is cpu_die()
invoking mcpm_cpu_die().

The problematic case would have been the B.L switcher's usage of
mcpm_cpu_power_down(), however it has to call mcpm_cpu_power_up() first
which is already set to catch an error resulting from a missing
mcpm_platform_register() call.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-10-03 10:36:37 +01:00
..
boot ARM: dts: sun7i: olinuxino-micro: Enable the EMAC 2013-09-12 12:22:48 -07:00
common ARM: 7842/1: MCPM: don't explode if invoked without being initialized first 2013-10-03 10:36:37 +01:00
configs ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
crypto ARM: 7837/3: fix Thumb-2 bug in AES assembler code 2013-09-22 11:43:38 +01:00
include ARM: 7842/1: MCPM: don't explode if invoked without being initialized first 2013-10-03 10:36:37 +01:00
kernel ARM: 7839/1: entry: fix tracing of ARM-private syscalls 2013-09-21 20:41:25 +01:00
kvm Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-09-05 18:07:32 -07:00
lib ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled 2013-09-09 15:24:47 +01:00
mach-at91 ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-bcm ARM: bcm: Make secure API call optional 2013-08-20 10:51:39 -07:00
mach-bcm2835
mach-clps711x
mach-cns3xxx
mach-davinci ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-dove ARM: SoC board updates for 3.12 2013-09-06 13:34:43 -07:00
mach-ebsa110 ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-ep93xx ARM: SoC fixes for 3.12 2013-09-12 13:59:31 -07:00
mach-exynos ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-footbridge ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-gemini ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-highbank ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-imx Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2013-09-10 13:37:36 -07:00
mach-integrator ARM: debug: move PL01X debug include into arch/arm/include/debug/ 2013-08-25 17:11:06 +01:00
mach-iop13xx ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-iop32x ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-iop33x ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-ixp4xx ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-keystone Omap fixes for the merge window that are not urgent enough 2013-08-29 19:12:04 -07:00
mach-kirkwood ARM: SoC board updates for 3.12 2013-09-06 13:34:43 -07:00
mach-ks8695 gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
mach-lpc32xx ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-mmp ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-msm ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
mach-mv78xx0 ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-mvebu Merge branch 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-16 16:10:26 -04:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1
mach-omap2 ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-orion5x ARM: SoC board updates for 3.12 2013-09-06 13:34:43 -07:00
mach-picoxcell
mach-prima2 ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-pxa ARM: SoC DT updates for 3.12 2013-09-06 13:26:27 -07:00
mach-realview ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
mach-rockchip
mach-rpc ARM: debug: move 8250 debug include into arch/arm/include/debug/ 2013-08-25 17:11:02 +01:00
mach-s3c24xx
mach-s3c64xx gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
mach-s5p64x0
mach-s5pc100
mach-s5pv210
mach-sa1100
mach-shark
mach-shmobile ARM: shmobile: lager: Do not use register_type field of struct sh_eth_plat_data 2013-09-09 17:25:51 -07:00
mach-socfpga
mach-spear ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
mach-sti
mach-sunxi
mach-tegra ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
mach-u300
mach-ux500 ARM: SoC late changes for v3.12 2013-09-09 16:35:29 -07:00
mach-versatile Merge branch 'versatile/fixes' into fixes 2013-09-09 17:31:04 -07:00
mach-vexpress ARM: vexpress: allow dcscb and tc2_pm in a combined ARMv6+v7 build 2013-09-09 17:38:20 -07:00
mach-virt
mach-vt8500
mach-w90x900
mach-zynq arm: Xilinx Zynq cleanup patches for v3.12 2013-08-20 15:05:31 -07:00
mm arch: mm: pass userspace fault flag to generic fault handler 2013-09-12 15:38:01 -07:00
net
nwfpe
oprofile
plat-iop
plat-omap ARM: SoC platform changes for 3.12 2013-09-06 13:30:06 -07:00
plat-orion
plat-pxa ARM: pxa: ssp: Check return values from phandle lookups 2013-09-09 17:14:09 -07:00
plat-samsung ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
plat-versatile
tools
vfp
xen Linux 3.11-rc7 2013-09-09 12:05:37 -04:00
Kconfig ARM: only allow kernel mode neon with AEABI 2013-09-22 11:08:50 +01:00
Kconfig-nommu
Kconfig.debug ARM: SoC cleanups for 3.12 2013-09-06 13:21:16 -07:00
Makefile