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/mpq8092.dtsi b/arch/arm/boot/dts/mpq8092.dtsi
index c92dad9..4dea9e0 100644
--- a/arch/arm/boot/dts/mpq8092.dtsi
+++ b/arch/arm/boot/dts/mpq8092.dtsi
@@ -11,15 +11,24 @@
  */
 
 /include/ "skeleton.dtsi"
-/include/ "mpq8092-iommu.dtsi"
-/include/ "msm-gdsc.dtsi"
-/include/ "mpq8092-ion.dtsi"
 
 / {
 	model = "Qualcomm MPQ8092";
 	compatible = "qcom,mpq8092";
 	interrupt-parent = <&intc>;
 
+	soc: soc { };
+};
+
+/include/ "mpq8092-iommu.dtsi"
+/include/ "msm-gdsc.dtsi"
+/include/ "mpq8092-ion.dtsi"
+
+&soc {
+	#address-cells = <1>;
+	#size-cells = <1>;
+	ranges;
+
 	intc: interrupt-controller@f9000000 {
 		compatible = "qcom,msm-qgic2";
 		interrupt-controller;