Merge tag 'devicetree-fixes-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Nov 2017 07:38:41 +0000 (21:38 -1000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 21 Nov 2017 07:38:41 +0000 (21:38 -1000)
Pull DeviceTree fixes from Rob Herring:

 - Remove mc13892 as a trivial device

 - Improve of_find_node_by_name() documentation

 - Fix unit test dtc warnings

 - Clean-ups of USB binding documentation

 - Fix potential NULL deref in of_pci_map_rid

* tag 'devicetree-fixes-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  dt-bindings: trivial-devices: Remove fsl,mc13892
  of: Document exactly what of_find_node_by_name() puts
  of: unittest: disable interrupts_property warning
  of: unittest: let dtc generate __local_fixups__
  dt-bindings: usb: document hub and host-controller properties
  dt-bindings: usb: clean up compatible property
  dt-bindings: usb: fix reg-property port-number range
  dt-bindings: usb: fix example hub node name
  of/pci: Fix theoretical NULL dereference

Documentation/devicetree/bindings/trivial-devices.txt
Documentation/devicetree/bindings/usb/usb-device.txt
drivers/of/base.c
drivers/of/of_pci.c
drivers/of/unittest-data/Makefile
drivers/of/unittest-data/testcases.dts

index 27dce08edd733b0a4c85cb2ac71baa90edb043b5..678039d4d5e57f96eacd9c9b5a0e8ce72a1d4dd4 100644 (file)
@@ -55,7 +55,6 @@ epson,rx8010          I2C-BUS INTERFACE REAL TIME CLOCK MODULE
 epson,rx8581           I2C-BUS INTERFACE REAL TIME CLOCK MODULE
 emmicro,em3027         EM Microelectronic EM3027 Real-time Clock
 fsl,mag3110            MAG3110: Xtrinsic High Accuracy, 3D Magnetometer
-fsl,mc13892            MC13892: Power Management Integrated Circuit (PMIC) for i.MX35/51
 fsl,mma7660            MMA7660FC: 3-Axis Orientation/Motion Detection Sensor
 fsl,mma8450            MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
 fsl,mpl3115            MPL3115: Absolute Digital Pressure Sensor
index ce02cebac26afdc80d99600725b3aaec24cb01e9..1b27cebb47f4286f8fac429f1361e6cba240d469 100644 (file)
@@ -4,24 +4,35 @@ Usually, we only use device tree for hard wired USB device.
 The reference binding doc is from:
 http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps
 
+
 Required properties:
-- compatible: usbVID,PID. The textual representation of VID, PID shall
-  be in lower case hexadecimal with leading zeroes suppressed. The
-  other compatible strings from the above standard binding could also
-  be used, but a device adhering to this binding may leave out all except
-  for usbVID,PID.
-- reg: the port number which this device is connecting to, the range
-  is 1-31.
+- compatible: "usbVID,PID", where VID is the vendor id and PID the product id.
+  The textual representation of VID and PID shall be in lower case hexadecimal
+  with leading zeroes suppressed. The other compatible strings from the above
+  standard binding could also be used, but a device adhering to this binding
+  may leave out all except for "usbVID,PID".
+- reg: the number of the USB hub port or the USB host-controller port to which
+  this device is attached. The range is 1-255.
+
+
+Required properties for hub nodes with device nodes:
+- #address-cells: shall be 1
+- #size-cells: shall be 0
 
-Example:
 
-&usb1 {
+Required properties for host-controller nodes with device nodes:
+- #address-cells: shall be 1
+- #size-cells: shall be 0
+
+
+Example:
 
+&usb1 {        /* host controller */
        #address-cells = <1>;
        #size-cells = <0>;
 
-       hub: genesys@1 {
+       hub@1 { /* hub connected to port 1 */
                compatible = "usb5e3,608";
                reg = <1>;
        };
-}
+};
index f2e649ff746f546b153d5ff1f64dc70958490c56..26618ba8f92a55e8d42db822b507bb8e8827e49f 100644 (file)
@@ -761,10 +761,10 @@ EXPORT_SYMBOL(of_find_node_opts_by_path);
 
 /**
  *     of_find_node_by_name - Find a node by its "name" property
- *     @from:  The node to start searching from or NULL, the node
+ *     @from:  The node to start searching from or NULL; the node
  *             you pass will not be searched, only the next one
- *             will; typically, you pass what the previous call
- *             returned. of_node_put() will be called on it
+ *             will. Typically, you pass what the previous call
+ *             returned. of_node_put() will be called on @from.
  *     @name:  The name string to match against
  *
  *     Returns a node pointer with refcount incremented, use
index e9ec931f5b9a565c7963dc8f3cf1b1c686effa23..a7b1cb6c2f657798a103f6f55acf3ef6f265377c 100644 (file)
@@ -374,7 +374,7 @@ int of_pci_map_rid(struct device_node *np, u32 rid,
 
                pr_debug("%pOF: %s, using mask %08x, rid-base: %08x, out-base: %08x, length: %08x, rid: %08x -> %08x\n",
                        np, map_name, map_mask, rid_base, out_base,
-                       rid_len, rid, *id_out);
+                       rid_len, rid, masked_rid - rid_base + out_base);
                return 0;
        }
 
index 3031fc2f18f6fd6b8bb5ae8bd17b9c72ed733b4f..32389acfa6164eb69dcd014f18ce12e58cb90050 100644 (file)
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
+DTC_FLAGS_testcases := -Wno-interrupts_property
 obj-y += testcases.dtb.o
 
 targets += testcases.dtb testcases.dtb.S
index ce49463d9d32b69bd6374ac3ebecdfe08c75b020..55fe0ee20109fd68e7bc663f8f00f78618a5abd6 100644 (file)
@@ -1,5 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /dts-v1/;
+/plugin/;
+
 / {
        testcase-data {
                changeset {
 #include "tests-match.dtsi"
 #include "tests-platform.dtsi"
 #include "tests-overlay.dtsi"
-
-/*
- * phandle fixup data - generated by dtc patches that aren't upstream.
- * This data must be regenerated whenever phandle references are modified in
- * the testdata tree.
- *
- * The format of this data may be subject to change. For the time being consider
- * this a kernel-internal data format.
- */
-/ { __local_fixups__ {
-       testcase-data {
-               phandle-tests {
-                       consumer-a {
-                               phandle-list = <0x00000000 0x00000008
-                                               0x00000018 0x00000028
-                                               0x00000034 0x00000038>;
-                               phandle-list-bad-args = <0x00000000 0x0000000c>;
-                       };
-               };
-               interrupts {
-                       intmap0 {
-                               interrupt-map = <0x00000004 0x00000010
-                                                0x00000024 0x00000034>;
-                       };
-                       intmap1 {
-                               interrupt-map = <0x0000000c>;
-                       };
-                       interrupts0 {
-                               interrupt-parent = <0x00000000>;
-                       };
-                       interrupts1 {
-                               interrupt-parent = <0x00000000>;
-                       };
-                       interrupts-extended0 {
-                               interrupts-extended = <0x00000000 0x00000008
-                                                      0x00000018 0x00000024
-                                                      0x0000002c 0x00000034
-                                                      0x0000003c>;
-                       };
-               };
-               testcase-device1 {
-                       interrupt-parent = <0x00000000>;
-               };
-               testcase-device2 {
-                       interrupt-parent = <0x00000000>;
-               };
-               overlay2 {
-                       fragment@0 {
-                               target = <0x00000000>;
-                       };
-               };
-               overlay3 {
-                       fragment@0 {
-                               target = <0x00000000>;
-                       };
-               };
-               overlay4 {
-                       fragment@0 {
-                               target = <0x00000000>;
-                       };
-               };
-       };
-}; };