Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
7e5ff591
Commit
7e5ff591
authored
Apr 17, 2020
by
Rob Herring
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dt/linus' into dt/next
parents
9f60a65b
0903060f
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
162 additions
and
115 deletions
+162
-115
Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
...vicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
+6
-0
Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
+1
-1
Documentation/devicetree/bindings/display/bridge/adi,adv7123.txt
...tation/devicetree/bindings/display/bridge/adi,adv7123.txt
+2
-2
Documentation/devicetree/bindings/display/bridge/adi,adv7511.txt
...tation/devicetree/bindings/display/bridge/adi,adv7511.txt
+2
-2
Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
+1
-1
Documentation/devicetree/bindings/hwmon/adi,axi-fan-control.yaml
...tation/devicetree/bindings/hwmon/adi,axi-fan-control.yaml
+2
-2
Documentation/devicetree/bindings/hwmon/adt7475.yaml
Documentation/devicetree/bindings/hwmon/adt7475.yaml
+1
-1
Documentation/devicetree/bindings/iio/dac/ad5755.txt
Documentation/devicetree/bindings/iio/dac/ad5755.txt
+1
-1
Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml
Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml
+46
-51
Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
...ion/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
+1
-1
Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
...etree/bindings/interrupt-controller/loongson,liointc.yaml
+2
-3
Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml
...etree/bindings/memory-controllers/nvidia,tegra186-mc.yaml
+23
-18
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
+3
-1
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
+3
-1
Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
+1
-1
Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml
Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml
+1
-0
Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+1
-1
Documentation/devicetree/bindings/phy/ti,phy-j721e-wiz.yaml
Documentation/devicetree/bindings/phy/ti,phy-j721e-wiz.yaml
+1
-1
Documentation/devicetree/bindings/pwm/google,cros-ec-pwm.yaml
...mentation/devicetree/bindings/pwm/google,cros-ec-pwm.yaml
+12
-5
Documentation/devicetree/bindings/rng/brcm,bcm2835.yaml
Documentation/devicetree/bindings/rng/brcm,bcm2835.yaml
+1
-1
Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
...mentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
+1
-1
Documentation/devicetree/bindings/usb/ingenic,musb.yaml
Documentation/devicetree/bindings/usb/ingenic,musb.yaml
+1
-1
Documentation/devicetree/bindings/usb/qcom,dwc3.txt
Documentation/devicetree/bindings/usb/qcom,dwc3.txt
+2
-2
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt
+1
-1
MAINTAINERS
MAINTAINERS
+5
-2
drivers/of/overlay.c
drivers/of/overlay.c
+2
-0
drivers/of/unittest-data/overlay_bad_add_dup_prop.dts
drivers/of/unittest-data/overlay_bad_add_dup_prop.dts
+19
-4
drivers/of/unittest.c
drivers/of/unittest.c
+19
-9
scripts/dtc/Makefile
scripts/dtc/Makefile
+1
-1
No files found.
Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
View file @
7e5ff591
...
...
@@ -42,6 +42,10 @@ properties:
description
:
See section 2.3.9 of the DeviceTree Specification.
'
#address-cells'
:
true
'
#size-cells'
:
true
required
:
-
"
#interconnect-cells"
-
compatible
...
...
@@ -59,6 +63,8 @@ examples:
compatible = "allwinner,sun5i-a13-mbus";
reg = <0x01c01000 0x1000>;
clocks = <&ccu CLK_MBUS>;
#address-cells = <1>;
#size-cells = <1>;
dma-ranges = <0x00000000 0x40000000 0x20000000>;
#interconnect-cells = <1>;
};
...
...
Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml
View file @
7e5ff591
...
...
@@ -91,7 +91,7 @@ required:
examples
:
-
|
vco1: clock
@00
{
vco1: clock {
compatible = "arm,impd1-vco1";
#clock-cells = <0>;
lock-offset = <0x08>;
...
...
Documentation/devicetree/bindings/display/bridge/adi,adv7123.txt
View file @
7e5ff591
Analog Device ADV7123 Video DAC
-------------------------------
Analog Device
s
ADV7123 Video DAC
-------------------------------
-
The ADV7123 is a digital-to-analog converter that outputs VGA signals from a
parallel video input.
...
...
Documentation/devicetree/bindings/display/bridge/adi,adv7511.txt
View file @
7e5ff591
Analog Device ADV7511(W)/13/33/35 HDMI Encoders
-----------------------------------------
Analog Device
s
ADV7511(W)/13/33/35 HDMI Encoders
-----------------------------------------
-------
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
...
...
Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
View file @
7e5ff591
Analog Device AXI-DMAC DMA controller
Analog Device
s
AXI-DMAC DMA controller
Required properties:
- compatible: Must be "adi,axi-dmac-1.00.a".
...
...
Documentation/devicetree/bindings/hwmon/adi,axi-fan-control.yaml
View file @
7e5ff591
...
...
@@ -2,7 +2,7 @@
# Copyright 2019 Analog Devices Inc.
%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#
title
:
Analog Devices AXI FAN Control Device Tree Bindings
...
...
@@ -47,7 +47,7 @@ required:
examples
:
-
|
fpga_axi: fpga-axi
@0
{
fpga_axi: fpga-axi {
#address-cells = <0x2>;
#size-cells = <0x1>;
...
...
Documentation/devicetree/bindings/hwmon/adt7475.yaml
View file @
7e5ff591
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%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#
title
:
ADT7475 hwmon sensor
...
...
Documentation/devicetree/bindings/iio/dac/ad5755.txt
View file @
7e5ff591
* Analog Device AD5755 IIO Multi-Channel DAC Linux Driver
* Analog Device
s
AD5755 IIO Multi-Channel DAC Linux Driver
Required properties:
- compatible: Has to contain one of the following:
...
...
Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml
View file @
7e5ff591
...
...
@@ -2,7 +2,7 @@
# Copyright 2020 Analog Devices Inc.
%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#
title
:
Analog Devices AD5770R DAC device driver
...
...
@@ -49,93 +49,86 @@ properties:
asserted during driver probe.
maxItems
:
1
channel0
:
channel
@
0
:
description
:
Represents an external channel which are
connected to the DAC. Channel 0 can act both as a current
source and sink.
type
:
object
properties
:
num
:
reg
:
description
:
This represents the channel number.
items
:
const
:
0
const
:
0
adi,range-microamp
:
description
:
Output range of the channel.
oneOf
:
-
$ref
:
/schemas/types.yaml#/definitions/int32-array
-
items
:
-
enum
:
[
0 300000
]
-
enum
:
[
-60000 0
]
-
enum
:
[
-60000 300000
]
-
const
:
0
-
const
:
300000
-
items
:
-
const
:
-60000
-
const
:
0
-
items
:
-
const
:
-60000
-
const
:
300000
channel1
:
channel
@
1
:
description
:
Represents an external channel which are
connected to the DAC.
type
:
object
properties
:
num
:
reg
:
description
:
This represents the channel number.
items
:
const
:
1
const
:
1
adi,range-microamp
:
description
:
Output range of the channel.
oneOf
:
-
$ref
:
/schemas/types.yaml#/definitions/uint32-array
-
items
:
-
enum
:
[
0 140000
]
-
enum
:
[
0 250000
]
items
:
-
const
:
0
-
enum
:
[
140000
,
250000
]
channel2
:
channel
@
2
:
description
:
Represents an external channel which are
connected to the DAC.
type
:
object
properties
:
num
:
reg
:
description
:
This represents the channel number.
items
:
const
:
2
const
:
2
adi,range-microamp
:
description
:
Output range of the channel.
oneOf
:
-
$ref
:
/schemas/types.yaml#/definitions/uint32-array
-
items
:
-
enum
:
[
0 140000
]
-
enum
:
[
0 250000
]
items
:
-
const
:
0
-
enum
:
[
55000
,
150000
]
patternProperties
:
"
^channel@([3-5])$"
:
type
:
object
description
:
Represents the external channels which are connected to the DAC.
properties
:
num
:
reg
:
description
:
This represents the channel number.
items
:
minimum
:
3
maximum
:
5
minimum
:
3
maximum
:
5
adi,range-microamp
:
description
:
Output range of the channel.
oneOf
:
-
$ref
:
/schemas/types.yaml#/definitions/uint32-array
-
items
:
-
enum
:
[
0 45000
]
-
enum
:
[
0 100000
]
items
:
-
const
:
0
-
enum
:
[
45000
,
100000
]
required
:
-
reg
-
diff-channels
-
channel0
-
channel1
-
channel2
-
channel3
-
channel4
-
channel5
-
channel@0
-
channel@1
-
channel@2
-
channel@3
-
channel@4
-
channel@5
examples
:
-
|
...
...
@@ -144,40 +137,42 @@ examples:
#size-cells = <0>;
ad5770r@0 {
compatible = "ad5770r";
compatible = "ad
i,ad
5770r";
reg = <0>;
spi-max-frequency = <1000000>;
vref-supply = <&vref>;
adi,external-resistor;
reset-gpios = <&gpio 22 0>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
num
= <0>;
adi,range-microamp = <
(-60000)
300000>;
reg
= <0>;
adi,range-microamp = <
0
300000>;
};
channel@1 {
num
= <1>;
reg
= <1>;
adi,range-microamp = <0 140000>;
};
channel@2 {
num
= <2>;
reg
= <2>;
adi,range-microamp = <0 55000>;
};
channel@3 {
num
= <3>;
reg
= <3>;
adi,range-microamp = <0 45000>;
};
channel@4 {
num
= <4>;
reg
= <4>;
adi,range-microamp = <0 45000>;
};
channel@5 {
num
= <5>;
reg
= <5>;
adi,range-microamp = <0 45000>;
};
};
...
...
Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.yaml
View file @
7e5ff591
...
...
@@ -109,7 +109,7 @@ examples:
-
|
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
i2c
@00000000
{
i2c {
#address-cells = <1>;
#size-cells = <0>;
edt-ft5x06@38 {
...
...
Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
View file @
7e5ff591
...
...
@@ -56,9 +56,8 @@ properties:
cell with zero.
allOf
:
-
$ref
:
/schemas/types.yaml#/definitions/uint32-array
-
items
:
minItems
:
4
maxItems
:
4
-
minItems
:
4
maxItems
:
4
required
:
...
...
Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml
View file @
7e5ff591
...
...
@@ -97,30 +97,35 @@ examples:
#include <dt-bindings/clock/tegra186-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
memory-controller@2c00000 {
compatible = "nvidia,tegra186-mc";
reg = <0x0 0x02c00000 0x0 0xb0000>;
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
bus {
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x0 0x02c00000 0x02c00000 0x0 0xb0000>;
memory-controller@2c00000 {
compatible = "nvidia,tegra186-mc";
reg = <0x0 0x02c00000 0x0 0xb0000>;
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
/*
* Memory clients have access to all 40 bits that the memory
* controller can address.
*/
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
/*
* Memory clients have access to all 40 bits that the memory
* controller can address.
*/
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
external-memory-controller@2c60000 {
compatible = "nvidia,tegra186-emc";
reg = <0x0 0x02c60000 0x0 0x50000>;
interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA186_CLK_EMC>;
clock-names = "emc";
external-memory-controller@2c60000 {
compatible = "nvidia,tegra186-emc";
reg = <0x0 0x02c60000 0x0 0x50000>;
interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA186_CLK_EMC>;
clock-names = "emc";
nvidia,bpmp = <&bpmp>;
nvidia,bpmp = <&bpmp>;
};
};
};
...
...
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
View file @
7e5ff591
...
...
@@ -123,7 +123,9 @@ examples:
#include <dt-bindings/leds/common.h>
i2c {
pmic: pmic@4b {
#address-cells = <1>;
#size-cells = <0>;
pmic: pmic@4b {
compatible = "rohm,bd71837";
reg = <0x4b>;
interrupt-parent = <&gpio1>;
...
...
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
View file @
7e5ff591
...
...
@@ -128,7 +128,9 @@ examples:
#include <dt-bindings/leds/common.h>
i2c {
pmic: pmic@4b {
#address-cells = <1>;
#size-cells = <0>;
pmic: pmic@4b {
compatible = "rohm,bd71847";
reg = <0x4b>;
interrupt-parent = <&gpio1>;
...
...
Documentation/devicetree/bindings/mfd/st,stpmic1.yaml
View file @
7e5ff591
...
...
@@ -274,7 +274,7 @@ examples:
-
|
#include <dt-bindings/mfd/st,stpmic1.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
i2c
@0
{
i2c {
#address-cells = <1>;
#size-cells = <0>;
pmic@33 {
...
...
Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml
View file @
7e5ff591
...
...
@@ -48,6 +48,7 @@ examples:
switch@10 {
compatible = "qca,qca8337";
reg = <0x10>;
/* ... */
};
};
Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
View file @
7e5ff591
...
...
@@ -29,7 +29,7 @@ Required properties for compatible string qcom,wcn399x-bt:
Optional properties for compatible string qcom,wcn399x-bt:
- max-speed: see Documentation/devicetree/bindings/serial/s
lave-device.txt
- max-speed: see Documentation/devicetree/bindings/serial/s
erial.yaml
- firmware-name: specify the name of nvm firmware to load
- clocks: clock provided to the controller
...
...
Documentation/devicetree/bindings/phy/ti,phy-j721e-wiz.yaml
View file @
7e5ff591
...
...
@@ -146,7 +146,7 @@ patternProperties:
bindings specified in
Documentation/devicetree/bindings/phy/phy-cadence-sierra.txt
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
:
-
compatible
...
...
Documentation/devicetree/bindings/pwm/google,cros-ec-pwm.yaml
View file @
7e5ff591
...
...
@@ -31,10 +31,17 @@ additionalProperties: false
examples
:
-
|
cros-ec@0 {
compatible = "google,cros-ec-spi";
cros_ec_pwm: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
spi {
#address-cells = <1>;
#size-cells = <0>;
cros-ec@0 {
compatible = "google,cros-ec-spi";
reg = <0>;
cros_ec_pwm: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
};
};
};
Documentation/devicetree/bindings/rng/brcm,bcm2835.yaml
View file @
7e5ff591
...
...
@@ -39,7 +39,7 @@ additionalProperties: false
examples
:
-
|
rng {
rng
@7e104000
{
compatible = "brcm,bcm2835-rng";
reg = <0x7e104000 0x10>;
interrupts = <2 29>;
...
...
Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
View file @
7e5ff591
...
...
@@ -61,7 +61,7 @@ examples:
#include <dt-bindings/clock/qcom,gcc-sdm845.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
soc: soc
@0
{
soc: soc {
#address-cells = <2>;
#size-cells = <2>;
...
...
Documentation/devicetree/bindings/usb/ingenic,musb.yaml
View file @
7e5ff591
...
...
@@ -56,7 +56,7 @@ additionalProperties: false
examples
:
-
|
#include <dt-bindings/clock/jz4740-cgu.h>
usb_phy: usb-phy
@0
{
usb_phy: usb-phy {
compatible = "usb-nop-xceiv";
#phy-cells = <0>;
};
...
...
Documentation/devicetree/bindings/usb/qcom,dwc3.txt
View file @
7e5ff591
...
...
@@ -52,8 +52,8 @@ 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.
Phy documentation is provided in the following places:
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-qmp-phy.txt
- USB3 QMP PHY
Documentation/devicetree/bindings/phy/qcom
,qusb2-phy.yaml
- USB2 QUSB2 PHY
Example device nodes:
...
...
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt
View file @
7e5ff591
...
...
@@ -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.
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
Example device nodes:
...
...
MAINTAINERS
View file @
7e5ff591
...
...
@@ -1323,7 +1323,10 @@ ARM INTEGRATOR, VERSATILE AND REALVIEW SUPPORT
M: Linus Walleij <linus.walleij@linaro.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
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/clock/arm,syscon-icst.yaml
F: Documentation/devicetree/bindings/i2c/i2c-versatile.txt
...
...
@@ -5552,7 +5555,7 @@ M: Chen-Yu Tsai <wens@csie.org>
L: dri-devel@lists.freedesktop.org
S: Supported
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/
DRM DRIVERS FOR AMLOGIC SOCS
...
...
drivers/of/overlay.c
View file @
7e5ff591
...
...
@@ -261,6 +261,8 @@ static struct property *dup_and_fixup_symbol_prop(
of_property_set_flag
(
new_prop
,
OF_DYNAMIC
);
kfree
(
target_path
);
return
new_prop
;
err_free_new_prop:
...
...
drivers/of/unittest-data/overlay_bad_add_dup_prop.dts
View file @
7e5ff591
...
...
@@ -3,22 +3,37 @@
/plugin/;
/*
* &electric_1/motor-1
and &spin_ctrl_1
are the same node:
* /testcase-data-2/substation@100/motor-1
* &electric_1/motor-1
/electric and &spin_ctrl_1/electric
are the same node:
* /testcase-data-2/substation@100/motor-1
/electric
*
* Thus the property "rpm_avail" in each fragment will
* result in an attempt to update the same property twice.
* This will result in an error and the overlay apply
* 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 {
motor-1 {
rpm_avail = < 100 >;
electric {
rpm_avail = < 100 >;
};
};
};
&spin_ctrl_1 {
rpm_avail = < 100 200 >;
electric {
rpm_avail = < 100 200 >;
};
};
drivers/of/unittest.c
View file @
7e5ff591
...
...
@@ -861,6 +861,10 @@ static void __init of_unittest_changeset(void)
unittest
(
!
of_changeset_revert
(
&
chgset
),
"revert failed
\n
"
);
of_changeset_destroy
(
&
chgset
);
of_node_put
(
n1
);
of_node_put
(
n2
);
of_node_put
(
n21
);
#endif
}
...
...
@@ -1243,10 +1247,13 @@ static void __init of_unittest_platform_populate(void)
of_platform_populate
(
np
,
match
,
NULL
,
&
test_bus
->
dev
);
for_each_child_of_node
(
np
,
child
)
{
for_each_child_of_node
(
child
,
grandchild
)
unittest
(
of_find_device_by_node
(
grandchild
),
for_each_child_of_node
(
child
,
grandchild
)
{
pdev
=
of_find_device_by_node
(
grandchild
);
unittest
(
pdev
,
"Could not create device for node '%pOFn'
\n
"
,
grandchild
);
of_dev_put
(
pdev
);
}
}
of_platform_depopulate
(
&
test_bus
->
dev
);
...
...
@@ -3087,8 +3094,11 @@ static __init void of_unittest_overlay_high_level(void)
goto
err_unlock
;
}
if
(
__of_add_property
(
of_symbols
,
new_prop
))
{
kfree
(
new_prop
->
name
);
kfree
(
new_prop
->
value
);
kfree
(
new_prop
);
/* "name" auto-generated by unflatten */
if
(
!
strcmp
(
new_
prop
->
name
,
"name"
))
if
(
!
strcmp
(
prop
->
name
,
"name"
))
continue
;
unittest
(
0
,
"duplicate property '%s' in overlay_base node __symbols__"
,
prop
->
name
);
...
...
@@ -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"
);
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
,
"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
,
"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
),
"Adding overlay 'overlay_bad_add_dup_prop' failed
\n
"
);
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
,
"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
,
"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
),
"Adding overlay 'overlay_bad_phandle' failed
\n
"
);
...
...
scripts/dtc/Makefile
View file @
7e5ff591
...
...
@@ -13,7 +13,7 @@ dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o
HOST_EXTRACFLAGS
:=
-I
$(srctree)
/
$(src)
/libfdt
ifeq
($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),)
ifneq
($(CHECK_DTBS),)
ifneq
($(CHECK_DT
_BINDING)$(CHECK_DT
BS),)
$(error
dtc
needs
libyaml
for
DT
schema
validation
support.
\
Install
the
necessary
libyaml
development
package.)
endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment