Commit 7e5ff591 authored by Rob Herring's avatar Rob Herring

Merge branch 'dt/linus' into dt/next

parents 9f60a65b 0903060f
...@@ -42,6 +42,10 @@ properties: ...@@ -42,6 +42,10 @@ properties:
description: description:
See section 2.3.9 of the DeviceTree Specification. See section 2.3.9 of the DeviceTree Specification.
'#address-cells': true
'#size-cells': true
required: required:
- "#interconnect-cells" - "#interconnect-cells"
- compatible - compatible
...@@ -59,6 +63,8 @@ examples: ...@@ -59,6 +63,8 @@ examples:
compatible = "allwinner,sun5i-a13-mbus"; compatible = "allwinner,sun5i-a13-mbus";
reg = <0x01c01000 0x1000>; reg = <0x01c01000 0x1000>;
clocks = <&ccu CLK_MBUS>; clocks = <&ccu CLK_MBUS>;
#address-cells = <1>;
#size-cells = <1>;
dma-ranges = <0x00000000 0x40000000 0x20000000>; dma-ranges = <0x00000000 0x40000000 0x20000000>;
#interconnect-cells = <1>; #interconnect-cells = <1>;
}; };
......
...@@ -91,7 +91,7 @@ required: ...@@ -91,7 +91,7 @@ required:
examples: examples:
- | - |
vco1: clock@00 { vco1: clock {
compatible = "arm,impd1-vco1"; compatible = "arm,impd1-vco1";
#clock-cells = <0>; #clock-cells = <0>;
lock-offset = <0x08>; lock-offset = <0x08>;
......
Analog Device ADV7123 Video DAC Analog Devices ADV7123 Video DAC
------------------------------- --------------------------------
The ADV7123 is a digital-to-analog converter that outputs VGA signals from a The ADV7123 is a digital-to-analog converter that outputs VGA signals from a
parallel video input. parallel video input.
......
Analog Device ADV7511(W)/13/33/35 HDMI Encoders Analog Devices ADV7511(W)/13/33/35 HDMI Encoders
----------------------------------------- ------------------------------------------------
The ADV7511, ADV7511W, ADV7513, ADV7533 and ADV7535 are HDMI audio and video The ADV7511, ADV7511W, ADV7513, ADV7533 and ADV7535 are HDMI audio and video
transmitters compatible with HDMI 1.4 and DVI 1.0. They support color space transmitters compatible with HDMI 1.4 and DVI 1.0. They support color space
......
Analog Device AXI-DMAC DMA controller Analog Devices AXI-DMAC DMA controller
Required properties: Required properties:
- compatible: Must be "adi,axi-dmac-1.00.a". - compatible: Must be "adi,axi-dmac-1.00.a".
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Copyright 2019 Analog Devices Inc. # Copyright 2019 Analog Devices Inc.
%YAML 1.2 %YAML 1.2
--- ---
$id: http://devicetree.org/schemas/bindings/hwmon/adi,axi-fan-control.yaml# $id: http://devicetree.org/schemas/hwmon/adi,axi-fan-control.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices AXI FAN Control Device Tree Bindings title: Analog Devices AXI FAN Control Device Tree Bindings
...@@ -47,7 +47,7 @@ required: ...@@ -47,7 +47,7 @@ required:
examples: examples:
- | - |
fpga_axi: fpga-axi@0 { fpga_axi: fpga-axi {
#address-cells = <0x2>; #address-cells = <0x2>;
#size-cells = <0x1>; #size-cells = <0x1>;
......
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2 %YAML 1.2
--- ---
$id: http://devicetree.org/schemas/adt7475.yaml# $id: http://devicetree.org/schemas/hwmon/adt7475.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: ADT7475 hwmon sensor title: ADT7475 hwmon sensor
......
* Analog Device AD5755 IIO Multi-Channel DAC Linux Driver * Analog Devices AD5755 IIO Multi-Channel DAC Linux Driver
Required properties: Required properties:
- compatible: Has to contain one of the following: - compatible: Has to contain one of the following:
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Copyright 2020 Analog Devices Inc. # Copyright 2020 Analog Devices Inc.
%YAML 1.2 %YAML 1.2
--- ---
$id: http://devicetree.org/schemas/bindings/iio/dac/adi,ad5770r.yaml# $id: http://devicetree.org/schemas/iio/dac/adi,ad5770r.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices AD5770R DAC device driver title: Analog Devices AD5770R DAC device driver
...@@ -49,93 +49,86 @@ properties: ...@@ -49,93 +49,86 @@ properties:
asserted during driver probe. asserted during driver probe.
maxItems: 1 maxItems: 1
channel0: channel@0:
description: Represents an external channel which are description: Represents an external channel which are
connected to the DAC. Channel 0 can act both as a current connected to the DAC. Channel 0 can act both as a current
source and sink. source and sink.
type: object type: object
properties: properties:
num: reg:
description: This represents the channel number. description: This represents the channel number.
items:
const: 0 const: 0
adi,range-microamp: adi,range-microamp:
description: Output range of the channel. description: Output range of the channel.
oneOf: oneOf:
- $ref: /schemas/types.yaml#/definitions/int32-array
- items: - items:
- enum: [0 300000] - const: 0
- enum: [-60000 0] - const: 300000
- enum: [-60000 300000] - items:
- const: -60000
- const: 0
- items:
- const: -60000
- const: 300000
channel1: channel@1:
description: Represents an external channel which are description: Represents an external channel which are
connected to the DAC. connected to the DAC.
type: object type: object
properties: properties:
num: reg:
description: This represents the channel number. description: This represents the channel number.
items:
const: 1 const: 1
adi,range-microamp: adi,range-microamp:
description: Output range of the channel. description: Output range of the channel.
oneOf: items:
- $ref: /schemas/types.yaml#/definitions/uint32-array - const: 0
- items: - enum: [ 140000, 250000 ]
- enum: [0 140000]
- enum: [0 250000]
channel2: channel@2:
description: Represents an external channel which are description: Represents an external channel which are
connected to the DAC. connected to the DAC.
type: object type: object
properties: properties:
num: reg:
description: This represents the channel number. description: This represents the channel number.
items:
const: 2 const: 2
adi,range-microamp: adi,range-microamp:
description: Output range of the channel. description: Output range of the channel.
oneOf: items:
- $ref: /schemas/types.yaml#/definitions/uint32-array - const: 0
- items: - enum: [ 55000, 150000 ]
- enum: [0 140000]
- enum: [0 250000]
patternProperties: patternProperties:
"^channel@([3-5])$": "^channel@([3-5])$":
type: object type: object
description: Represents the external channels which are connected to the DAC. description: Represents the external channels which are connected to the DAC.
properties: properties:
num: reg:
description: This represents the channel number. description: This represents the channel number.
items:
minimum: 3 minimum: 3
maximum: 5 maximum: 5
adi,range-microamp: adi,range-microamp:
description: Output range of the channel. description: Output range of the channel.
oneOf: items:
- $ref: /schemas/types.yaml#/definitions/uint32-array - const: 0
- items: - enum: [ 45000, 100000 ]
- enum: [0 45000]
- enum: [0 100000]
required: required:
- reg - reg
- diff-channels - channel@0
- channel0 - channel@1
- channel1 - channel@2
- channel2 - channel@3
- channel3 - channel@4
- channel4 - channel@5
- channel5
examples: examples:
- | - |
...@@ -144,40 +137,42 @@ examples: ...@@ -144,40 +137,42 @@ examples:
#size-cells = <0>; #size-cells = <0>;
ad5770r@0 { ad5770r@0 {
compatible = "ad5770r"; compatible = "adi,ad5770r";
reg = <0>; reg = <0>;
spi-max-frequency = <1000000>; spi-max-frequency = <1000000>;
vref-supply = <&vref>; vref-supply = <&vref>;
adi,external-resistor; adi,external-resistor;
reset-gpios = <&gpio 22 0>; reset-gpios = <&gpio 22 0>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 { channel@0 {
num = <0>; reg = <0>;
adi,range-microamp = <(-60000) 300000>; adi,range-microamp = <0 300000>;
}; };
channel@1 { channel@1 {
num = <1>; reg = <1>;
adi,range-microamp = <0 140000>; adi,range-microamp = <0 140000>;
}; };
channel@2 { channel@2 {
num = <2>; reg = <2>;
adi,range-microamp = <0 55000>; adi,range-microamp = <0 55000>;
}; };
channel@3 { channel@3 {
num = <3>; reg = <3>;
adi,range-microamp = <0 45000>; adi,range-microamp = <0 45000>;
}; };
channel@4 { channel@4 {
num = <4>; reg = <4>;
adi,range-microamp = <0 45000>; adi,range-microamp = <0 45000>;
}; };
channel@5 { channel@5 {
num = <5>; reg = <5>;
adi,range-microamp = <0 45000>; adi,range-microamp = <0 45000>;
}; };
}; };
......
...@@ -109,7 +109,7 @@ examples: ...@@ -109,7 +109,7 @@ examples:
- | - |
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
i2c@00000000 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
edt-ft5x06@38 { edt-ft5x06@38 {
......
...@@ -56,8 +56,7 @@ properties: ...@@ -56,8 +56,7 @@ properties:
cell with zero. cell with zero.
allOf: allOf:
- $ref: /schemas/types.yaml#/definitions/uint32-array - $ref: /schemas/types.yaml#/definitions/uint32-array
- items: - minItems: 4
minItems: 4
maxItems: 4 maxItems: 4
......
...@@ -97,6 +97,10 @@ examples: ...@@ -97,6 +97,10 @@ examples:
#include <dt-bindings/clock/tegra186-clock.h> #include <dt-bindings/clock/tegra186-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
bus {
#address-cells = <2>;
#size-cells = <2>;
memory-controller@2c00000 { memory-controller@2c00000 {
compatible = "nvidia,tegra186-mc"; compatible = "nvidia,tegra186-mc";
reg = <0x0 0x02c00000 0x0 0xb0000>; reg = <0x0 0x02c00000 0x0 0xb0000>;
...@@ -105,7 +109,7 @@ examples: ...@@ -105,7 +109,7 @@ examples:
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
ranges = <0x0 0x02c00000 0x02c00000 0x0 0xb0000>; ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
/* /*
* Memory clients have access to all 40 bits that the memory * Memory clients have access to all 40 bits that the memory
...@@ -123,6 +127,7 @@ examples: ...@@ -123,6 +127,7 @@ examples:
nvidia,bpmp = <&bpmp>; nvidia,bpmp = <&bpmp>;
}; };
}; };
};
bpmp: bpmp { bpmp: bpmp {
compatible = "nvidia,tegra186-bpmp"; compatible = "nvidia,tegra186-bpmp";
......
...@@ -123,6 +123,8 @@ examples: ...@@ -123,6 +123,8 @@ examples:
#include <dt-bindings/leds/common.h> #include <dt-bindings/leds/common.h>
i2c { i2c {
#address-cells = <1>;
#size-cells = <0>;
pmic: pmic@4b { pmic: pmic@4b {
compatible = "rohm,bd71837"; compatible = "rohm,bd71837";
reg = <0x4b>; reg = <0x4b>;
......
...@@ -128,6 +128,8 @@ examples: ...@@ -128,6 +128,8 @@ examples:
#include <dt-bindings/leds/common.h> #include <dt-bindings/leds/common.h>
i2c { i2c {
#address-cells = <1>;
#size-cells = <0>;
pmic: pmic@4b { pmic: pmic@4b {
compatible = "rohm,bd71847"; compatible = "rohm,bd71847";
reg = <0x4b>; reg = <0x4b>;
......
...@@ -274,7 +274,7 @@ examples: ...@@ -274,7 +274,7 @@ examples:
- | - |
#include <dt-bindings/mfd/st,stpmic1.h> #include <dt-bindings/mfd/st,stpmic1.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
i2c@0 { i2c {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pmic@33 { pmic@33 {
......
...@@ -48,6 +48,7 @@ examples: ...@@ -48,6 +48,7 @@ examples:
switch@10 { switch@10 {
compatible = "qca,qca8337"; compatible = "qca,qca8337";
reg = <0x10>;
/* ... */ /* ... */
}; };
}; };
...@@ -29,7 +29,7 @@ Required properties for compatible string qcom,wcn399x-bt: ...@@ -29,7 +29,7 @@ Required properties for compatible string qcom,wcn399x-bt:
Optional properties for compatible string qcom,wcn399x-bt: Optional properties for compatible string qcom,wcn399x-bt:
- max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
- firmware-name: specify the name of nvm firmware to load - firmware-name: specify the name of nvm firmware to load
- clocks: clock provided to the controller - clocks: clock provided to the controller
......
...@@ -146,7 +146,7 @@ patternProperties: ...@@ -146,7 +146,7 @@ patternProperties:
bindings specified in bindings specified in
Documentation/devicetree/bindings/phy/phy-cadence-sierra.txt Documentation/devicetree/bindings/phy/phy-cadence-sierra.txt
Torrent SERDES should follow the bindings specified in Torrent SERDES should follow the bindings specified in
Documentation/devicetree/bindings/phy/phy-cadence-dp.txt Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml
required: required:
- compatible - compatible
......
...@@ -31,10 +31,17 @@ additionalProperties: false ...@@ -31,10 +31,17 @@ additionalProperties: false
examples: examples:
- | - |
spi {
#address-cells = <1>;
#size-cells = <0>;
cros-ec@0 { cros-ec@0 {
compatible = "google,cros-ec-spi"; compatible = "google,cros-ec-spi";
reg = <0>;
cros_ec_pwm: ec-pwm { cros_ec_pwm: ec-pwm {
compatible = "google,cros-ec-pwm"; compatible = "google,cros-ec-pwm";
#pwm-cells = <1>; #pwm-cells = <1>;
}; };
}; };
};
...@@ -39,7 +39,7 @@ additionalProperties: false ...@@ -39,7 +39,7 @@ additionalProperties: false
examples: examples:
- | - |
rng { rng@7e104000 {
compatible = "brcm,bcm2835-rng"; compatible = "brcm,bcm2835-rng";
reg = <0x7e104000 0x10>; reg = <0x7e104000 0x10>;
interrupts = <2 29>; interrupts = <2 29>;
......
...@@ -61,7 +61,7 @@ examples: ...@@ -61,7 +61,7 @@ examples:
#include <dt-bindings/clock/qcom,gcc-sdm845.h> #include <dt-bindings/clock/qcom,gcc-sdm845.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
soc: soc@0 { soc: soc {
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
......
...@@ -56,7 +56,7 @@ additionalProperties: false ...@@ -56,7 +56,7 @@ additionalProperties: false
examples: examples:
- | - |
#include <dt-bindings/clock/jz4740-cgu.h> #include <dt-bindings/clock/jz4740-cgu.h>
usb_phy: usb-phy@0 { usb_phy: usb-phy {
compatible = "usb-nop-xceiv"; compatible = "usb-nop-xceiv";
#phy-cells = <0>; #phy-cells = <0>;
}; };
......
...@@ -53,7 +53,7 @@ the node is not important. The content of the node is defined in dwc3.txt. ...@@ -53,7 +53,7 @@ the node is not important. The content of the node is defined in dwc3.txt.
Phy documentation is provided in the following places: Phy documentation is provided in the following places:
Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt - USB3 QMP PHY Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt - USB3 QMP PHY
Documentation/devicetree/bindings/phy/qcom-qusb2-phy.txt - USB2 QUSB2 PHY Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml - USB2 QUSB2 PHY
Example device nodes: Example device nodes:
......
...@@ -16,7 +16,7 @@ A child node must exist to represent the core DWC3 IP block. The name of ...@@ -16,7 +16,7 @@ A child node must exist to represent the core DWC3 IP block. The name of
the node is not important. The content of the node is defined in dwc3.txt. the node is not important. The content of the node is defined in dwc3.txt.
Phy documentation is provided in the following places: Phy documentation is provided in the following places:
Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt - USB2.0 PHY Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml - USB2.0 PHY
Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt - Type-C PHY Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt - Type-C PHY
Example device nodes: Example device nodes:
......
...@@ -1323,7 +1323,10 @@ ARM INTEGRATOR, VERSATILE AND REALVIEW SUPPORT ...@@ -1323,7 +1323,10 @@ ARM INTEGRATOR, VERSATILE AND REALVIEW SUPPORT
M: Linus Walleij <linus.walleij@linaro.org> M: Linus Walleij <linus.walleij@linaro.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: Documentation/devicetree/bindings/arm/arm-boards F: Documentation/devicetree/bindings/arm/arm,integrator.yaml
F: Documentation/devicetree/bindings/arm/arm,realview.yaml
F: Documentation/devicetree/bindings/arm/arm,versatile.yaml
F: Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml
F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt F: Documentation/devicetree/bindings/auxdisplay/arm-charlcd.txt
F: Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml F: Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
F: Documentation/devicetree/bindings/i2c/i2c-versatile.txt F: Documentation/devicetree/bindings/i2c/i2c-versatile.txt
...@@ -5552,7 +5555,7 @@ M: Chen-Yu Tsai <wens@csie.org> ...@@ -5552,7 +5555,7 @@ M: Chen-Yu Tsai <wens@csie.org>
L: dri-devel@lists.freedesktop.org L: dri-devel@lists.freedesktop.org
S: Supported S: Supported
T: git git://anongit.freedesktop.org/drm/drm-misc T: git git://anongit.freedesktop.org/drm/drm-misc
F: Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt F: Documentation/devicetree/bindings/display/allwinner*
F: drivers/gpu/drm/sun4i/ F: drivers/gpu/drm/sun4i/
DRM DRIVERS FOR AMLOGIC SOCS DRM DRIVERS FOR AMLOGIC SOCS
......
...@@ -261,6 +261,8 @@ static struct property *dup_and_fixup_symbol_prop( ...@@ -261,6 +261,8 @@ static struct property *dup_and_fixup_symbol_prop(
of_property_set_flag(new_prop, OF_DYNAMIC); of_property_set_flag(new_prop, OF_DYNAMIC);
kfree(target_path);
return new_prop; return new_prop;
err_free_new_prop: err_free_new_prop:
......
...@@ -3,22 +3,37 @@ ...@@ -3,22 +3,37 @@
/plugin/; /plugin/;
/* /*
* &electric_1/motor-1 and &spin_ctrl_1 are the same node: * &electric_1/motor-1/electric and &spin_ctrl_1/electric are the same node:
* /testcase-data-2/substation@100/motor-1 * /testcase-data-2/substation@100/motor-1/electric
* *
* Thus the property "rpm_avail" in each fragment will * Thus the property "rpm_avail" in each fragment will
* result in an attempt to update the same property twice. * result in an attempt to update the same property twice.
* This will result in an error and the overlay apply * This will result in an error and the overlay apply
* will fail. * will fail.
*
* The previous version of this test did not include the extra
* level of node 'electric'. That resulted in the 'rpm_avail'
* property being located in the pre-existing node 'motor-1'.
* Modifying a property results in a WARNING that a memory leak
* will occur if the overlay is removed. Since the overlay apply
* fails, the memory leak does actually occur, and kmemleak will
* further report the memory leak if CONFIG_DEBUG_KMEMLEAK is
* enabled. Adding the overlay node 'electric' avoids the
* memory leak and thus people who use kmemleak will not
* have to debug this non-problem again.
*/ */
&electric_1 { &electric_1 {
motor-1 { motor-1 {
electric {
rpm_avail = < 100 >; rpm_avail = < 100 >;
}; };
};
}; };
&spin_ctrl_1 { &spin_ctrl_1 {
electric {
rpm_avail = < 100 200 >; rpm_avail = < 100 200 >;
};
}; };
...@@ -861,6 +861,10 @@ static void __init of_unittest_changeset(void) ...@@ -861,6 +861,10 @@ static void __init of_unittest_changeset(void)
unittest(!of_changeset_revert(&chgset), "revert failed\n"); unittest(!of_changeset_revert(&chgset), "revert failed\n");
of_changeset_destroy(&chgset); of_changeset_destroy(&chgset);
of_node_put(n1);
of_node_put(n2);
of_node_put(n21);
#endif #endif
} }
...@@ -1243,10 +1247,13 @@ static void __init of_unittest_platform_populate(void) ...@@ -1243,10 +1247,13 @@ static void __init of_unittest_platform_populate(void)
of_platform_populate(np, match, NULL, &test_bus->dev); of_platform_populate(np, match, NULL, &test_bus->dev);
for_each_child_of_node(np, child) { for_each_child_of_node(np, child) {
for_each_child_of_node(child, grandchild) for_each_child_of_node(child, grandchild) {
unittest(of_find_device_by_node(grandchild), pdev = of_find_device_by_node(grandchild);
unittest(pdev,
"Could not create device for node '%pOFn'\n", "Could not create device for node '%pOFn'\n",
grandchild); grandchild);
of_dev_put(pdev);
}
} }
of_platform_depopulate(&test_bus->dev); of_platform_depopulate(&test_bus->dev);
...@@ -3087,8 +3094,11 @@ static __init void of_unittest_overlay_high_level(void) ...@@ -3087,8 +3094,11 @@ static __init void of_unittest_overlay_high_level(void)
goto err_unlock; goto err_unlock;
} }
if (__of_add_property(of_symbols, new_prop)) { if (__of_add_property(of_symbols, new_prop)) {
kfree(new_prop->name);
kfree(new_prop->value);
kfree(new_prop);
/* "name" auto-generated by unflatten */ /* "name" auto-generated by unflatten */
if (!strcmp(new_prop->name, "name")) if (!strcmp(prop->name, "name"))
continue; continue;
unittest(0, "duplicate property '%s' in overlay_base node __symbols__", unittest(0, "duplicate property '%s' in overlay_base node __symbols__",
prop->name); prop->name);
...@@ -3171,21 +3181,21 @@ static __init void of_unittest_overlay_high_level(void) ...@@ -3171,21 +3181,21 @@ static __init void of_unittest_overlay_high_level(void)
"OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/controller"); "OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/controller");
EXPECT_BEGIN(KERN_ERR, EXPECT_BEGIN(KERN_ERR,
"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); "OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/electric");
EXPECT_BEGIN(KERN_ERR, EXPECT_BEGIN(KERN_ERR,
"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/rpm_avail");
EXPECT_BEGIN(KERN_ERR, EXPECT_BEGIN(KERN_ERR,
"OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/rpm_avail"); "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/name");
unittest(overlay_data_apply("overlay_bad_add_dup_prop", NULL), unittest(overlay_data_apply("overlay_bad_add_dup_prop", NULL),
"Adding overlay 'overlay_bad_add_dup_prop' failed\n"); "Adding overlay 'overlay_bad_add_dup_prop' failed\n");
EXPECT_END(KERN_ERR, EXPECT_END(KERN_ERR,
"OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/rpm_avail"); "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/name");
EXPECT_END(KERN_ERR, EXPECT_END(KERN_ERR,
"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); "OF: overlay: ERROR: multiple fragments add, update, and/or delete property /testcase-data-2/substation@100/motor-1/electric/rpm_avail");
EXPECT_END(KERN_ERR, EXPECT_END(KERN_ERR,
"OF: overlay: WARNING: memory leak will occur if overlay removed, property: /testcase-data-2/substation@100/motor-1/rpm_avail"); "OF: overlay: ERROR: multiple fragments add and/or delete node /testcase-data-2/substation@100/motor-1/electric");
unittest(overlay_data_apply("overlay_bad_phandle", NULL), unittest(overlay_data_apply("overlay_bad_phandle", NULL),
"Adding overlay 'overlay_bad_phandle' failed\n"); "Adding overlay 'overlay_bad_phandle' failed\n");
......
...@@ -13,7 +13,7 @@ dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o ...@@ -13,7 +13,7 @@ dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o
HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt
ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),) ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),)
ifneq ($(CHECK_DTBS),) ifneq ($(CHECK_DT_BINDING)$(CHECK_DTBS),)
$(error dtc needs libyaml for DT schema validation support. \ $(error dtc needs libyaml for DT schema validation support. \
Install the necessary libyaml development package.) Install the necessary libyaml development package.)
endif endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment