ARM:SMP: remove per_cpu based spinlock in do_IPI()

The spinlock used in the do_IPI function is declared in per_cpu section,
and it does not have the cache snooping which can cause the spinlock
failure.

This fix is based on the main kernel tree:
 - ARM: SMP: avoid using bitmasks and locks for IPIs, use hardware
   instead
   commit 24480d9

 - ARM: SMP: remove IRQ-disabling for smp_cross_call()
   commit 0df7095

BUG 798775

Change-Id: I6e03027cb3f586803a260e216c71fc2fd74d09f2
Reviewed-on: http://git-master/r/23779
Reviewed-by: Xin Xie <xxie@nvidia.com>
Tested-by: Xin Xie <xxie@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>