arm/dt: msm: Move I/O devices to a dedicated SoC node

The Device Tree specification suggests that memory-mapped
I/O devices should be declared within the 'soc' node rather
than being declared at the root level. Refactor the MSM
device tree files to follow to this design pattern.

Furthermore, declaring I/O devices with the 'soc' node
facilitates reuse of common DTSI files across device trees
whose root-level #address-cells and #size-cells properties
might be different.

Explicitly call of_platform_populate on the /soc node to
parent its devices to the root node, to preserve the kernel
ABI until userspace is updated.

Change-Id: Ib6a4a42c3a3d419b5f8d8c49706ed5d78c1b6adc
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
diff --git a/arch/arm/boot/dts/apq8084.dtsi b/arch/arm/boot/dts/apq8084.dtsi
index 95b1c8f..ba1ccd7 100644
--- a/arch/arm/boot/dts/apq8084.dtsi
+++ b/arch/arm/boot/dts/apq8084.dtsi
@@ -11,12 +11,20 @@
  */
 
 /include/ "skeleton.dtsi"
-/include/ "apq8084-ion.dtsi"
 
 / {
 	model = "Qualcomm APQ 8084";
 	compatible = "qcom,apq8084";
 	interrupt-parent = <&intc>;
+	soc: soc { };
+};
+
+/include/ "apq8084-ion.dtsi"
+
+&soc {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	ranges;
 
 	intc: interrupt-controller@f9000000 {
 		compatible = "qcom,msm-qgic2";