Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux

Pull device tree fixes from Grant Likely:
"Device tree bug fixes and documentation updates for v3.10

Nothing earth shattering here. A build failure fix, and fix for
releasing nodes and some documenation updates."

* tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
Documentation/devicetree: make semantic of initrd-end more explicit
of/base: release the node correctly in of_parse_phandle_with_args()
of/documentation: move video device bindings to a common place
<linux/of_platform.h>: fix compilation warnings with DT disabled

+10 -7
Documentation/devicetree/bindings/drm/exynos/hdmi.txt Documentation/devicetree/bindings/video/exynos_hdmi.txt
Documentation/devicetree/bindings/drm/exynos/hdmiddc.txt Documentation/devicetree/bindings/video/exynos_hdmiddc.txt
Documentation/devicetree/bindings/drm/exynos/hdmiphy.txt Documentation/devicetree/bindings/video/exynos_hdmiphy.txt
Documentation/devicetree/bindings/drm/exynos/mixer.txt Documentation/devicetree/bindings/video/exynos_mixer.txt
+5 -3
Documentation/devicetree/usage-model.txt
··· 191 191 }; 192 192 193 193 The bootargs property contains the kernel arguments, and the initrd-* 194 - properties define the address and size of an initrd blob. The 195 - chosen node may also optionally contain an arbitrary number of 196 - additional properties for platform-specific configuration data. 194 + properties define the address and size of an initrd blob. Note that 195 + initrd-end is the first address after the initrd image, so this doesn't 196 + match the usual semantic of struct resource. The chosen node may also 197 + optionally contain an arbitrary number of additional properties for 198 + platform-specific configuration data. 197 199 198 200 During early boot, the architecture setup code calls of_scan_flat_dt() 199 201 several times with different helper callbacks to parse device tree
+2 -2
drivers/of/base.c
··· 1208 1208 out_args->args_count = count; 1209 1209 for (i = 0; i < count; i++) 1210 1210 out_args->args[i] = be32_to_cpup(list++); 1211 + } else { 1212 + of_node_put(node); 1211 1213 } 1212 1214 1213 1215 /* Found it! return success */ 1214 - if (node) 1215 - of_node_put(node); 1216 1216 return 0; 1217 1217 } 1218 1218
+3 -2
include/linux/of_platform.h
··· 11 11 * 12 12 */ 13 13 14 - #ifdef CONFIG_OF_DEVICE 15 14 #include <linux/device.h> 16 15 #include <linux/mod_devicetable.h> 16 + 17 + #ifdef CONFIG_OF_DEVICE 17 18 #include <linux/pm.h> 18 19 #include <linux/of_device.h> 19 20 #include <linux/platform_device.h> ··· 101 100 102 101 #if !defined(CONFIG_OF_ADDRESS) 103 102 struct of_dev_auxdata; 104 - struct device; 103 + struct device_node; 105 104 static inline int of_platform_populate(struct device_node *root, 106 105 const struct of_device_id *matches, 107 106 const struct of_dev_auxdata *lookup,