msm: platsmp: refactor and use the smp ops framwork

Supporting multiple platforms had lead to different targets
having their own variants of CPU initialization functions.
This has some negative consequences; duplication of code,
runtime cpu_is_msmXXXX checks are required for different
targets and multi-platform binaries can not be supported
since each platform compiles only its own variants of thse
functions.

This change refactors common code for reuse across multiple
targets. We also start using the smp ops framework backported
from kernel 3.7. This allows us to compile all variants of
the CPU initialization functions and pick the ones relevant
for each target. Since smp ops makes boot_secondary the level
of abstraction, we have had to split our release_secondary
abstraction into multiple versions of boot_secondary.

Change-Id: I4896a9734cd2dd9cc54f30a4a5f3169ff90170a2
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
15 files changed