msm: acpuclock: Implement acpuclock APIs through function pointers

Create a generic wrapper acpuclock driver in acpuclock.c to call
SoC-specific function pointer API implementations.  With the
exception of iomap conflicts, this should allow multiple acpuclock
driver implementations to be compiled into the same kernel binary.

Signed-off-by: Matt Wagantall <mattw@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/acpuclock-7201.c
	arch/arm/mach-msm/board-msm8960.c
diff --git a/arch/arm/mach-msm/board-msm8960.c b/arch/arm/mach-msm/board-msm8960.c
index 4882772..a135037 100644
--- a/arch/arm/mach-msm/board-msm8960.c
+++ b/arch/arm/mach-msm/board-msm8960.c
@@ -79,6 +79,7 @@
 #include "cpuidle.h"
 #include "rpm_resources.h"
 #include "mpm.h"
+#include "acpuclock.h"
 
 static struct platform_device msm_fm_platform_init = {
 	.name = "iris_fm",
@@ -1930,9 +1931,10 @@
 	return 0;
 }
 
-static struct msm_acpu_clock_platform_data msm8960_acpu_clock_data = {
+static struct acpuclk_platform_data msm8960_acpuclk_data __initdata = {
 	.acpu_switch_time_us = 0,
 	.vdd_switch_time_us = 0,
+	.init = acpuclk_8960_init,
 };
 
 #define MSM_SHARED_RAM_PHYS 0x80000000
@@ -3510,7 +3512,7 @@
 	platform_add_devices(common_devices, ARRAY_SIZE(common_devices));
 	pm8921_gpio_mpp_init();
 	platform_add_devices(sim_devices, ARRAY_SIZE(sim_devices));
-	msm_acpu_clock_init(&msm8960_acpu_clock_data);
+	acpuclk_init(&msm8960_acpuclk_data);
 
 	msm8960_device_qup_spi_gsbi1.dev.platform_data =
 				&msm8960_qup_spi_gsbi1_pdata;
@@ -3601,7 +3603,7 @@
 	platform_add_devices(cdp_devices, ARRAY_SIZE(cdp_devices));
 	msm8960_init_cam();
 	msm8960_init_mmc();
-	msm_acpu_clock_init(&msm8960_acpu_clock_data);
+	acpuclk_init(&msm8960_acpuclk_data);
 	register_i2c_devices();
 	msm8960_wcnss_init();
 	msm_fb_add_devices();