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-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c
index e8f394a..c99dc6d 100644
--- a/arch/arm/mach-msm/board-qsd8x50.c
+++ b/arch/arm/mach-msm/board-qsd8x50.c
@@ -54,6 +54,7 @@
 #include "devices.h"
 #include "timer.h"
 #include "msm-keypad-devices.h"
+#include "acpuclock.h"
 #include "pm.h"
 #include "proc_comm.h"
 #ifdef CONFIG_USB_ANDROID
@@ -1239,12 +1240,13 @@
 	return rc;
 }
 
-static struct msm_acpu_clock_platform_data qsd8x50_clock_data = {
+static struct acpuclk_platform_data qsd8x50_clock_data __initdata = {
 	.acpu_switch_time_us = 20,
 	.max_speed_delta_khz = 256000,
 	.vdd_switch_time_us = 62,
 	.max_vdd = TPS65023_MAX_DCDC1,
 	.acpu_set_vdd = qsd8x50_tps65023_set_dcdc1,
+	.init = acpuclk_8x50_init,
 };
 
 
@@ -2442,7 +2444,7 @@
 		       __func__);
 	msm_clock_init(&qds8x50_clock_init_data);
 	qsd8x50_cfg_smc91x();
-	msm_acpu_clock_init(&qsd8x50_clock_data);
+	acpuclk_init(&qsd8x50_clock_data);
 
 	msm_hsusb_pdata.swfi_latency =
 		msm_pm_data