Skip to content

Commit 76787cf

Browse files
committed
Merge tag 'devicetree-fixes-for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree fixes from Rob Herring: - fix path to display timing binding - fix some typos in interrupt-names and clock-names - fix a resource leak on overlay removal - add missing documentation for R8A77965 DMA, serial, and net - cleanup sunxi pinctrl description - add Kieback & Peter GmbH vendor prefix * tag 'devicetree-fixes-for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: dt-bindings: panel: lvds: Fix path to display timing bindings dt-bindings: mvebu-uart: DT fix s/interrupts-names/interrupt-names/ dt-bindings: meson-uart: DT fix s/clocks-names/clock-names/ of: overlay: Stop leaking resources on overlay removal dtc: checks: drop warning for missing PCI bridge bus-range dt-bindings: dmaengine: rcar-dmac: document R8A77965 support dt-bindings: serial: sh-sci: Add support for r8a77965 (H)SCIF dt-bindings: net: ravb: Add support for r8a77965 SoC dt-bindings: pinctrl: sunxi: Fix reference to driver doc: Add vendor prefix for Kieback & Peter GmbH
2 parents 75bc37f + f130307 commit 76787cf

File tree

9 files changed

+40
-16
lines changed

9 files changed

+40
-16
lines changed

Documentation/devicetree/bindings/display/panel/panel-common.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Display Timings
3838
require specific display timings. The panel-timing subnode expresses those
3939
timings as specified in the timing subnode section of the display timing
4040
bindings defined in
41-
Documentation/devicetree/bindings/display/display-timing.txt.
41+
Documentation/devicetree/bindings/display/panel/display-timing.txt.
4242

4343

4444
Connectivity

Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Required Properties:
2626
- "renesas,dmac-r8a7794" (R-Car E2)
2727
- "renesas,dmac-r8a7795" (R-Car H3)
2828
- "renesas,dmac-r8a7796" (R-Car M3-W)
29+
- "renesas,dmac-r8a77965" (R-Car M3-N)
2930
- "renesas,dmac-r8a77970" (R-Car V3M)
3031
- "renesas,dmac-r8a77980" (R-Car V3H)
3132

Documentation/devicetree/bindings/net/renesas,ravb.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Required properties:
1818

1919
- "renesas,etheravb-r8a7795" for the R8A7795 SoC.
2020
- "renesas,etheravb-r8a7796" for the R8A7796 SoC.
21+
- "renesas,etheravb-r8a77965" for the R8A77965 SoC.
2122
- "renesas,etheravb-r8a77970" for the R8A77970 SoC.
2223
- "renesas,etheravb-r8a77980" for the R8A77980 SoC.
2324
- "renesas,etheravb-r8a77995" for the R8A77995 SoC.

Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ pins it needs, and how they should be configured, with regard to muxer
5656
configuration, drive strength and pullups. If one of these options is
5757
not set, its actual value will be unspecified.
5858

59-
This driver supports the generic pin multiplexing and configuration
60-
bindings. For details on each properties, you can refer to
61-
./pinctrl-bindings.txt.
59+
Allwinner A1X Pin Controller supports the generic pin multiplexing and
60+
configuration bindings. For details on each properties, you can refer to
61+
./pinctrl-bindings.txt.
6262

6363
Required sub-node properties:
6464
- pins

Documentation/devicetree/bindings/serial/renesas,sci-serial.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ Required properties:
4343
- "renesas,hscif-r8a7795" for R8A7795 (R-Car H3) HSCIF compatible UART.
4444
- "renesas,scif-r8a7796" for R8A7796 (R-Car M3-W) SCIF compatible UART.
4545
- "renesas,hscif-r8a7796" for R8A7796 (R-Car M3-W) HSCIF compatible UART.
46+
- "renesas,scif-r8a77965" for R8A77965 (R-Car M3-N) SCIF compatible UART.
47+
- "renesas,hscif-r8a77965" for R8A77965 (R-Car M3-N) HSCIF compatible UART.
4648
- "renesas,scif-r8a77970" for R8A77970 (R-Car V3M) SCIF compatible UART.
4749
- "renesas,hscif-r8a77970" for R8A77970 (R-Car V3M) HSCIF compatible UART.
4850
- "renesas,scif-r8a77980" for R8A77980 (R-Car V3H) SCIF compatible UART.

Documentation/devicetree/bindings/vendor-prefixes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ karo Ka-Ro electronics GmbH
182182
keithkoep Keith & Koep GmbH
183183
keymile Keymile GmbH
184184
khadas Khadas
185+
kiebackpeter Kieback & Peter GmbH
185186
kinetic Kinetic Technologies
186187
kingnovel Kingnovel Technology Co., Ltd.
187188
kosagi Sutajio Ko-Usagi PTE Ltd.

Documentation/devicetree/overlay-notes.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,14 @@ Finally, if you need to remove all overlays in one-go, just call
9898
of_overlay_remove_all() which will remove every single one in the correct
9999
order.
100100

101+
In addition, there is the option to register notifiers that get called on
102+
overlay operations. See of_overlay_notifier_register/unregister and
103+
enum of_overlay_notify_action for details.
104+
105+
Note that a notifier callback is not supposed to store pointers to a device
106+
tree node or its content beyond OF_OVERLAY_POST_REMOVE corresponding to the
107+
respective node it received.
108+
101109
Overlay DTS Format
102110
------------------
103111

drivers/of/overlay.c

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,28 @@ static DEFINE_IDR(ovcs_idr);
102102

103103
static BLOCKING_NOTIFIER_HEAD(overlay_notify_chain);
104104

105+
/**
106+
* of_overlay_notifier_register() - Register notifier for overlay operations
107+
* @nb: Notifier block to register
108+
*
109+
* Register for notification on overlay operations on device tree nodes. The
110+
* reported actions definied by @of_reconfig_change. The notifier callback
111+
* furthermore receives a pointer to the affected device tree node.
112+
*
113+
* Note that a notifier callback is not supposed to store pointers to a device
114+
* tree node or its content beyond @OF_OVERLAY_POST_REMOVE corresponding to the
115+
* respective node it received.
116+
*/
105117
int of_overlay_notifier_register(struct notifier_block *nb)
106118
{
107119
return blocking_notifier_chain_register(&overlay_notify_chain, nb);
108120
}
109121
EXPORT_SYMBOL_GPL(of_overlay_notifier_register);
110122

123+
/**
124+
* of_overlay_notifier_register() - Unregister notifier for overlay operations
125+
* @nb: Notifier block to unregister
126+
*/
111127
int of_overlay_notifier_unregister(struct notifier_block *nb)
112128
{
113129
return blocking_notifier_chain_unregister(&overlay_notify_chain, nb);
@@ -671,17 +687,13 @@ static void free_overlay_changeset(struct overlay_changeset *ovcs)
671687
of_node_put(ovcs->fragments[i].overlay);
672688
}
673689
kfree(ovcs->fragments);
674-
675690
/*
676-
* TODO
677-
*
678-
* would like to: kfree(ovcs->overlay_tree);
679-
* but can not since drivers may have pointers into this data
680-
*
681-
* would like to: kfree(ovcs->fdt);
682-
* but can not since drivers may have pointers into this data
691+
* There should be no live pointers into ovcs->overlay_tree and
692+
* ovcs->fdt due to the policy that overlay notifiers are not allowed
693+
* to retain pointers into the overlay devicetree.
683694
*/
684-
695+
kfree(ovcs->overlay_tree);
696+
kfree(ovcs->fdt);
685697
kfree(ovcs);
686698
}
687699

scripts/dtc/checks.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -787,10 +787,9 @@ static void check_pci_bridge(struct check *c, struct dt_info *dti, struct node *
787787
FAIL(c, dti, node, "incorrect #size-cells for PCI bridge");
788788

789789
prop = get_property(node, "bus-range");
790-
if (!prop) {
791-
FAIL(c, dti, node, "missing bus-range for PCI bridge");
790+
if (!prop)
792791
return;
793-
}
792+
794793
if (prop->val.len != (sizeof(cell_t) * 2)) {
795794
FAIL_PROP(c, dti, node, prop, "value must be 2 cells");
796795
return;

0 commit comments

Comments
 (0)