ARM: fix rcu stalls on SMP platforms

commit 7deabca upstream.

We can stall RCU processing on SMP platforms if a CPU sits in its idle
loop for a long time.  This happens because we don't call irq_enter()
and irq_exit() around generic_smp_call_function_interrupt() and
friends.  Add the necessary calls, and remove the one from within
ipi_timer(), so that they're all in a common place.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[add irq_enter()/irq_exit() in do_local_timer]
Signed-off-by: UCHINO Satoshi <satoshi.uchino@toshiba.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Change-Id: Ib4fcd252e5ca88d190eabff588d26e5cd07186d1
Revert "Disabled gpmc probe. Hangs kernel"

This reverts commit c9bd7975703d996fbe515544cc9724be8ac7c16a.
re-enable local timers

Change-Id: I52a117ee7adb1be1d6b74cfb895cdb2a10407aab
reset clocks and use Motorola BOOTLOADER_INIT settings

Change-Id: I8046ccb24affbc3d9d50d669daa147cd5127388e
fix disable unused clocks

Change-Id: I45914bc8de80d2401a4202c6a78e58f6f1cc3305