diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-11-02 02:46:55 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-11-02 02:46:55 +0100 |
commit | abc3f126ac736280c68db6472eb0040ddf6e1b1f (patch) | |
tree | 4e3333cde6da6c49dcd81920410bf5a33055f03a /arch/arm/mach-imx/hotplug.c | |
parent | b8df0ea26ac17c9a073f235c7fdfbdd1851b59ea (diff) | |
parent | 8bcb97659656042f3132b2814b19709856aa1335 (diff) |
Merge branch 'imx/imx6q' into next/soc
Conflicts:
Documentation/devicetree/bindings/arm/fsl.txt
arch/arm/Kconfig
arch/arm/Kconfig.debug
arch/arm/plat-mxc/include/mach/common.h
Diffstat (limited to 'arch/arm/mach-imx/hotplug.c')
-rw-r--r-- | arch/arm/mach-imx/hotplug.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/hotplug.c b/arch/arm/mach-imx/hotplug.c new file mode 100644 index 000000000000..89493abd497c --- /dev/null +++ b/arch/arm/mach-imx/hotplug.c @@ -0,0 +1,44 @@ +/* + * Copyright 2011 Freescale Semiconductor, Inc. + * Copyright 2011 Linaro Ltd. + * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: + * + * http://www.opensource.org/licenses/gpl-license.html + * http://www.gnu.org/copyleft/gpl.html + */ + +#include <linux/errno.h> +#include <asm/cacheflush.h> +#include <mach/common.h> + +int platform_cpu_kill(unsigned int cpu) +{ + return 1; +} + +/* + * platform-specific code to shutdown a CPU + * + * Called with IRQs disabled + */ +void platform_cpu_die(unsigned int cpu) +{ + flush_cache_all(); + imx_enable_cpu(cpu, false); + cpu_do_idle(); + + /* We should never return from idle */ + panic("cpu %d unexpectedly exit from shutdown\n", cpu); +} + +int platform_cpu_disable(unsigned int cpu) +{ + /* + * we don't allow CPU 0 to be shutdown (it is still too special + * e.g. clock tick interrupts) + */ + return cpu == 0 ? -EPERM : 0; +} |