Merge tag 'devicetree-fixes-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
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
This commit is contained in:
@@ -55,7 +55,6 @@ epson,rx8010 I2C-BUS INTERFACE REAL TIME CLOCK MODULE
|
|||||||
epson,rx8581 I2C-BUS INTERFACE REAL TIME CLOCK MODULE
|
epson,rx8581 I2C-BUS INTERFACE REAL TIME CLOCK MODULE
|
||||||
emmicro,em3027 EM Microelectronic EM3027 Real-time Clock
|
emmicro,em3027 EM Microelectronic EM3027 Real-time Clock
|
||||||
fsl,mag3110 MAG3110: Xtrinsic High Accuracy, 3D Magnetometer
|
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,mma7660 MMA7660FC: 3-Axis Orientation/Motion Detection Sensor
|
||||||
fsl,mma8450 MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
|
fsl,mma8450 MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer
|
||||||
fsl,mpl3115 MPL3115: Absolute Digital Pressure Sensor
|
fsl,mpl3115 MPL3115: Absolute Digital Pressure Sensor
|
||||||
|
|||||||
@@ -4,24 +4,35 @@ Usually, we only use device tree for hard wired USB device.
|
|||||||
The reference binding doc is from:
|
The reference binding doc is from:
|
||||||
http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps
|
http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps
|
||||||
|
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: usbVID,PID. The textual representation of VID, PID shall
|
- compatible: "usbVID,PID", where VID is the vendor id and PID the product id.
|
||||||
be in lower case hexadecimal with leading zeroes suppressed. The
|
The textual representation of VID and PID shall be in lower case hexadecimal
|
||||||
other compatible strings from the above standard binding could also
|
with leading zeroes suppressed. The other compatible strings from the above
|
||||||
be used, but a device adhering to this binding may leave out all except
|
standard binding could also be used, but a device adhering to this binding
|
||||||
for usbVID,PID.
|
may leave out all except for "usbVID,PID".
|
||||||
- reg: the port number which this device is connecting to, the range
|
- reg: the number of the USB hub port or the USB host-controller port to which
|
||||||
is 1-31.
|
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
|
||||||
|
|
||||||
|
|
||||||
|
Required properties for host-controller nodes with device nodes:
|
||||||
|
- #address-cells: shall be 1
|
||||||
|
- #size-cells: shall be 0
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
&usb1 {
|
&usb1 { /* host controller */
|
||||||
|
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
hub: genesys@1 {
|
hub@1 { /* hub connected to port 1 */
|
||||||
compatible = "usb5e3,608";
|
compatible = "usb5e3,608";
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -761,10 +761,10 @@ EXPORT_SYMBOL(of_find_node_opts_by_path);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* of_find_node_by_name - Find a node by its "name" property
|
* 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
|
* you pass will not be searched, only the next one
|
||||||
* will; typically, you pass what the previous call
|
* will. Typically, you pass what the previous call
|
||||||
* returned. of_node_put() will be called on it
|
* returned. of_node_put() will be called on @from.
|
||||||
* @name: The name string to match against
|
* @name: The name string to match against
|
||||||
*
|
*
|
||||||
* Returns a node pointer with refcount incremented, use
|
* Returns a node pointer with refcount incremented, use
|
||||||
|
|||||||
@@ -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",
|
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,
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
DTC_FLAGS_testcases := -Wno-interrupts_property
|
||||||
obj-y += testcases.dtb.o
|
obj-y += testcases.dtb.o
|
||||||
|
|
||||||
targets += testcases.dtb testcases.dtb.S
|
targets += testcases.dtb testcases.dtb.S
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
/plugin/;
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
testcase-data {
|
testcase-data {
|
||||||
changeset {
|
changeset {
|
||||||
@@ -15,66 +17,3 @@
|
|||||||
#include "tests-match.dtsi"
|
#include "tests-match.dtsi"
|
||||||
#include "tests-platform.dtsi"
|
#include "tests-platform.dtsi"
|
||||||
#include "tests-overlay.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>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}; };
|
|
||||||
|
|||||||
Reference in New Issue
Block a user