From: Olof Johansson <olof@lixom.net>
Date: Mon, 17 Sep 2012 00:57:00 +0000 (-0700)
Subject: Merge tag 'msm-dt-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb... 
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=591346c9d172daeba44ae8cbe2f9dcb7aa266811;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

Merge tag 'msm-dt-for-3.7' of git://git./linux/kernel/git/davidb/linux-msm into next/dt

From David Brown:

These patches migrate both the 8660 and 8960 targets on msm to be
devicetree only.  This also sets most of the frame in place necessary
to build both targets into the same image.

There's a couple of cleanups in here that are kept in this series
because they are intimately tied to the changes necessary to support
the devicetree conversions.

By Stephen Boyd
via David Brown
* tag 'msm-dt-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm:
  ARM: msm: Remove non-DT targets from 8960
  ARM: msm: Add DT support for 8960
  ARM: msm: Move io mapping prototypes to common.h
  ARM: msm: Rename board-msm8x60 to signify its DT only status
  ARM: msm: Make 8660 a DT only target
  ARM: msm: Move 8660 to DT timer
  ARM: msm: Add DT support to msm_timer
  ARM: msm: Allow timer.c to compile on multiple targets
  ARM: msm: Don't touch GIC registers outside of GIC code
  ARM: msm: Add msm8660-surf.dts to Makefile.boot
  ARM: msm: Add handle_irq handler for 8660 DT machine

Resolved trivial context conflict in arch/arm/mach-msm/io.c and a
remove/change conflict in arch/arm/mach-msm/board-msm8x60.c.

Signed-off-by: Olof Johansson <olof@lixom.net>
---

591346c9d172daeba44ae8cbe2f9dcb7aa266811
diff --cc arch/arm/mach-msm/board-dt-8660.c
index 000000000000,c1ddd480fc87..f77f57f39104
mode 000000,100644..100644
--- a/arch/arm/mach-msm/board-dt-8660.c
+++ b/arch/arm/mach-msm/board-dt-8660.c
@@@ -1,0 -1,68 +1,63 @@@
+ /* Copyright (c) 2010-2012, The Linux Foundation. All rights reserved.
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License version 2 and
+  * only version 2 as published by the Free Software Foundation.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  */
+ 
+ #include <linux/init.h>
+ #include <linux/of.h>
+ #include <linux/of_irq.h>
+ #include <linux/of_platform.h>
+ 
+ #include <asm/mach/arch.h>
+ #include <asm/hardware/gic.h>
+ 
+ #include <mach/board.h>
+ #include "common.h"
+ 
+ static const struct of_device_id msm_dt_gic_match[] __initconst = {
+ 	{ .compatible = "qcom,msm-8660-qgic", .data = gic_of_init },
+ 	{}
+ };
+ 
+ static void __init msm8x60_init_irq(void)
+ {
+ 	of_irq_init(msm_dt_gic_match);
+ }
+ 
+ static void __init msm8x60_init_late(void)
+ {
+ 	smd_debugfs_init();
+ }
+ 
+ static struct of_dev_auxdata msm_auxdata_lookup[] __initdata = {
+ 	{}
+ };
+ 
+ static void __init msm8x60_dt_init(void)
+ {
 -	if (of_machine_is_compatible("qcom,msm8660-surf")) {
 -		printk(KERN_INFO "Init surf UART registers\n");
 -		msm8x60_init_uart12dm();
 -	}
 -
+ 	of_platform_populate(NULL, of_default_bus_match_table,
+ 			msm_auxdata_lookup, NULL);
+ }
+ 
+ static const char *msm8x60_fluid_match[] __initdata = {
+ 	"qcom,msm8660-fluid",
+ 	"qcom,msm8660-surf",
+ 	NULL
+ };
+ 
+ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
+ 	.map_io = msm_map_msm8x60_io,
+ 	.init_irq = msm8x60_init_irq,
+ 	.handle_irq = gic_handle_irq,
+ 	.init_machine = msm8x60_dt_init,
+ 	.init_late = msm8x60_init_late,
+ 	.timer = &msm_dt_timer,
+ 	.dt_compat = msm8x60_fluid_match,
+ MACHINE_END
diff --cc arch/arm/mach-msm/include/mach/board.h
index 5a0811a4c851,09654aca6152..0a0c393d8e31
--- a/arch/arm/mach-msm/include/mach/board.h
+++ b/arch/arm/mach-msm/include/mach/board.h
@@@ -22,10 -22,17 +22,8 @@@
  
  /* platform device data structures */
  
 -struct msm_acpu_clock_platform_data
 -{
 -	uint32_t acpu_switch_time_us;
 -	uint32_t max_speed_delta_khz;
 -	uint32_t vdd_switch_time_us;
 -	unsigned long power_collapse_khz;
 -	unsigned long wait_for_irq_khz;
 -};
 -
  struct clk_lookup;
  
- extern struct sys_timer msm_timer;
- 
  /* common init routines for use by arch/arm/mach-msm/board-*.c */
  
  void __init msm_add_devices(void);
diff --cc arch/arm/mach-msm/io.c
index 3cb4f4c35710,3cbe74a41d9b..3854f6f20ce2
--- a/arch/arm/mach-msm/io.c
+++ b/arch/arm/mach-msm/io.c
@@@ -29,7 -29,9 +29,9 @@@
  
  #include <mach/board.h>
  
+ #include "common.h"
+ 
 -#define MSM_CHIP_DEVICE(name, chip) {			      \
 +#define MSM_CHIP_DEVICE_TYPE(name, chip, mem_type) {			      \
  		.virtual = (unsigned long) MSM_##name##_BASE, \
  		.pfn = __phys_to_pfn(chip##_##name##_PHYS), \
  		.length = chip##_##name##_SIZE, \