arm: make memory power routines conform to current generic API

The various routines to change memory power state used
in physical memory hotplug and hotremove used to take
a start pfn and a number of pages and return 1 for success
and 0 for failure.

The generic API these are called from now takes a start address
and size and returns a byte count of memory powered on or
off, so the ARM and platform specific routines should as well.

Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-msm8960.c b/arch/arm/mach-msm/board-msm8960.c
index 145459b..240b004 100644
--- a/arch/arm/mach-msm/board-msm8960.c
+++ b/arch/arm/mach-msm/board-msm8960.c
@@ -844,10 +844,10 @@
 	msm_reserve();
 }
 
-static int msm8960_change_memory_power(unsigned long start_pfn,
-	unsigned long nr_pages, int change_type)
+static int msm8960_change_memory_power(u64 start, u64 size,
+	int change_type)
 {
-	return 1;
+	return size;
 }
 
 #ifdef CONFIG_MSM_CAMERA
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
index e1f100b..8546703 100644
--- a/arch/arm/mach-msm/include/mach/memory.h
+++ b/arch/arm/mach-msm/include/mach/memory.h
@@ -15,6 +15,7 @@
  */
 #ifndef __ASM_ARCH_MEMORY_H
 #define __ASM_ARCH_MEMORY_H
+#include <linux/types.h>
 
 /* physical offset of RAM */
 #define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
@@ -63,11 +64,11 @@
 void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
 void clean_caches(unsigned long, unsigned long, unsigned long);
 void invalidate_caches(unsigned long, unsigned long, unsigned long);
-int platform_physical_remove_pages(unsigned long, unsigned long);
-int platform_physical_active_pages(unsigned long, unsigned long);
-int platform_physical_low_power_pages(unsigned long, unsigned long);
+int platform_physical_remove_pages(u64, u64);
+int platform_physical_active_pages(u64, u64);
+int platform_physical_low_power_pages(u64, u64);
 
-extern int (*change_memory_power)(unsigned long, unsigned long, int);
+extern int (*change_memory_power)(u64, u64, int);
 
 #if defined(CONFIG_ARCH_MSM_ARM11) || defined(CONFIG_ARCH_MSM_CORTEX_A5)
 void write_to_strongly_ordered_memory(void);
diff --git a/arch/arm/mach-msm/memory.c b/arch/arm/mach-msm/memory.c
index 25afc95..2d01795 100644
--- a/arch/arm/mach-msm/memory.c
+++ b/arch/arm/mach-msm/memory.c
@@ -194,30 +194,27 @@
 	return (void *)addr;
 }
 
-int (*change_memory_power)(unsigned long, unsigned long, int);
+int (*change_memory_power)(u64, u64, int);
 
-int platform_physical_remove_pages(unsigned long start_pfn,
-	unsigned long nr_pages)
+int platform_physical_remove_pages(u64 start, u64 size)
 {
 	if (!change_memory_power)
 		return 0;
-	return change_memory_power(start_pfn, nr_pages, MEMORY_DEEP_POWERDOWN);
+	return change_memory_power(start, size, MEMORY_DEEP_POWERDOWN);
 }
 
-int platform_physical_active_pages(unsigned long start_pfn,
-	unsigned long nr_pages)
+int platform_physical_active_pages(u64 start, u64 size)
 {
 	if (!change_memory_power)
 		return 0;
-	return change_memory_power(start_pfn, nr_pages, MEMORY_ACTIVE);
+	return change_memory_power(start, size, MEMORY_ACTIVE);
 }
 
-int platform_physical_low_power_pages(unsigned long start_pfn,
-	unsigned long nr_pages)
+int platform_physical_low_power_pages(u64 start, u64 size)
 {
 	if (!change_memory_power)
 		return 0;
-	return change_memory_power(start_pfn, nr_pages, MEMORY_SELF_REFRESH);
+	return change_memory_power(start, size, MEMORY_SELF_REFRESH);
 }
 
 char *memtype_name[] = {