linux/arch/arm/mach-mvebu
Gregory CLEMENT 0d461e1b08 ARM: mvebu: Fix the operand list in the inline asm of armada_370_xp_pmsu_idle_enter
In the inline asm part of the function armada_370_xp_pmsu_idle_enter()
the input operand was used. The intent here was to let the compiler
choose this register so it could do the optimization it
needed.

However an input operand is not supposed to be modified by the inline
asm code. This can lead to improper generated instructions.

In some case generated instruction the compiler made the choice to
reuse the same register to store the return value. But in the assembly
part this register was modified, so it can lead to return an wrong
value.

The fix is to use a clobber. Thanks to this the compiler will know
that the value of this register will be modified.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: https://lkml.kernel.org/r/1404483736-16938-1-git-send-email-gregory.clement@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2014-07-08 12:25:39 +00:00
..
include/mach ARM: mvebu: Simplify headers and make local 2014-02-22 21:19:59 +00:00
armada-370-xp.h irqchip: irq-armada-370-xp: Use cpu notifier to initialize secondary CPUs 2014-05-08 14:42:00 +00:00
board-v7.c ARM: mvebu: update L2/PCIe deadlock workaround after L2CC cleanup 2014-06-30 17:38:43 +00:00
board.h ARM: Kirkwood: t5325: Remove platform device to instantiate audio 2014-05-08 16:23:28 +00:00
coherency_ll.S ARM: mvebu: returns ll_get_cpuid() to ll_get_coherency_cpumask() 2014-05-22 14:26:30 +00:00
coherency.c ARM: mvebu: coherency: fix registration of PCI bus notifier when !PCI 2014-05-22 14:17:46 +00:00
coherency.h ARM: mvebu: Remove the unused argument of set_cpu_coherent() 2014-05-08 16:18:52 +00:00
common.h ARM: mvebu: add function to set the resume boot address for Armada 375 2014-05-08 16:08:14 +00:00
cpu-reset.c ARM: mvebu: start using the CPU reset driver 2014-04-24 05:24:03 +00:00
dove.c bus: mvebu: pass the coherency availability information at init time 2014-04-24 05:00:36 +00:00
headsmp-a9.S ARM: mvebu: fix SMP boot for Armada 38x and Armada 375 Z1 in big endian 2014-07-01 17:02:26 +00:00
headsmp.S ARM: mvebu: Split low level functions to manipulate HW coherency 2014-05-08 16:18:54 +00:00
hotplug.c ARM: mvebu: fix some sparse warnings 2013-11-24 03:27:54 +00:00
Kconfig ARM: mvebu: select ARM_CPU_SUSPEND for Marvell EBU v7 platforms 2014-06-20 20:38:14 +00:00
kirkwood-pm.c ARM: mvebu: Simplify headers and make local 2014-02-22 21:19:59 +00:00
kirkwood-pm.h ARM: mvebu: Move kirkwood DT boards into mach-mvebu 2014-02-22 21:19:55 +00:00
kirkwood.c ARM: Kirkwood: t5325: Remove platform device to instantiate audio 2014-05-08 16:23:28 +00:00
kirkwood.h ARM: mvebu: Simplify headers and make local 2014-02-22 21:19:59 +00:00
Makefile ARM: mvebu: fix cpuidle implementation to work on big-endian systems 2014-06-30 18:15:11 +00:00
mvebu-soc-id.c ARM: SoC updates for 3.16 (part 1) 2014-06-02 16:15:12 -07:00
mvebu-soc-id.h ARM: mvebu: add Armada 375 A0 revision definition 2014-05-08 16:40:14 +00:00
platsmp-a9.c ARM: mvebu: conditionalize Armada 375 SMP workaround 2014-05-08 16:40:15 +00:00
platsmp.c ARM: mvebu: Remove the unused argument of set_cpu_coherent() 2014-05-08 16:18:52 +00:00
pmsu_ll.S ARM: mvebu: fix cpuidle implementation to work on big-endian systems 2014-06-30 18:15:11 +00:00
pmsu.c ARM: mvebu: Fix the operand list in the inline asm of armada_370_xp_pmsu_idle_enter 2014-07-08 12:25:39 +00:00
pmsu.h arm: mvebu: Add initial support for power managmement service unit 2012-11-21 16:49:36 +01:00
system-controller.c ARM: mvebu: add function to set the resume boot address for Armada 375 2014-05-08 16:08:14 +00:00