mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-30 16:13:54 +08:00
DeviceTree fixes for 4.17:
- 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 -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAlrs350QHHJvYmhAa2Vy bmVsLm9yZwAKCRD6+121jbxhw3jHD/9BslJBQ9AXBYRBuUD71gaoKk0BmSWztEim EiJnMBeHwieTwLyN9Susn8eNnHM+Q2/+NyY/sxylpNVffK7ncq2dpMftL7BiPCtx 8Kvq8sGXALW+/9nLEkzGzr9Wu3lTQdppW77x4RuzUxhoIjV5gx+ofdFgGPt96OAJ jAScryU8gEmIkeQAduVhgKeY/7plFzfH49/RwcED/L7wT4DKGMjkSSJT7YCSfNpX UsHCyDxp7ZyFm1ubh6JIiNqUGqe49p4qstUSLzy55dSClJIg0dx58d8u6GILg3n7 GdJv+m9oY6zbFDtAi0Cs9ZIcu36bXG3lJybYBOHGa34eKfNOuHdALIRDCAcBPmX/ vd+l23V8dXDd42T/d67YSOZH83xxggQ2IdzJEvwBFmy/aUD/VZTakG07NL9VhvX4 2w3wi7ZsTbdLQ4/0lOtsUw1EWJ9J/SKKrqlJBcBQ6emISPNpoda/MmNktjJCFeAx QNNiMS0o0xzq4oNnRHH1LRp13T6nLzKVsofXmo2LkDupad/Y7288wfEFhTlVMr67 sweYQJgaBc1B2yK9xSrtukr4amoTZnwk5mqLpJKnmlf9otB0X+jDWiw/m2v6mxnc mgIdxspQ58pvMc+qGX6Qy77HsXF5aUYTi1u9Y2yZQtdJ/T7kYdK4HBmic7Vhofsu uNndI3/frQ== =/0bk -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
76787cf4af
@ -38,7 +38,7 @@ Display Timings
|
||||
require specific display timings. The panel-timing subnode expresses those
|
||||
timings as specified in the timing subnode section of the display timing
|
||||
bindings defined in
|
||||
Documentation/devicetree/bindings/display/display-timing.txt.
|
||||
Documentation/devicetree/bindings/display/panel/display-timing.txt.
|
||||
|
||||
|
||||
Connectivity
|
||||
|
@ -26,6 +26,7 @@ Required Properties:
|
||||
- "renesas,dmac-r8a7794" (R-Car E2)
|
||||
- "renesas,dmac-r8a7795" (R-Car H3)
|
||||
- "renesas,dmac-r8a7796" (R-Car M3-W)
|
||||
- "renesas,dmac-r8a77965" (R-Car M3-N)
|
||||
- "renesas,dmac-r8a77970" (R-Car V3M)
|
||||
- "renesas,dmac-r8a77980" (R-Car V3H)
|
||||
|
||||
|
@ -18,6 +18,7 @@ Required properties:
|
||||
|
||||
- "renesas,etheravb-r8a7795" for the R8A7795 SoC.
|
||||
- "renesas,etheravb-r8a7796" for the R8A7796 SoC.
|
||||
- "renesas,etheravb-r8a77965" for the R8A77965 SoC.
|
||||
- "renesas,etheravb-r8a77970" for the R8A77970 SoC.
|
||||
- "renesas,etheravb-r8a77980" for the R8A77980 SoC.
|
||||
- "renesas,etheravb-r8a77995" for the R8A77995 SoC.
|
||||
|
@ -56,8 +56,8 @@ pins it needs, and how they should be configured, with regard to muxer
|
||||
configuration, drive strength and pullups. If one of these options is
|
||||
not set, its actual value will be unspecified.
|
||||
|
||||
This driver supports the generic pin multiplexing and configuration
|
||||
bindings. For details on each properties, you can refer to
|
||||
Allwinner A1X Pin Controller supports the generic pin multiplexing and
|
||||
configuration bindings. For details on each properties, you can refer to
|
||||
./pinctrl-bindings.txt.
|
||||
|
||||
Required sub-node properties:
|
||||
|
@ -43,6 +43,8 @@ Required properties:
|
||||
- "renesas,hscif-r8a7795" for R8A7795 (R-Car H3) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a7796" for R8A7796 (R-Car M3-W) SCIF compatible UART.
|
||||
- "renesas,hscif-r8a7796" for R8A7796 (R-Car M3-W) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a77965" for R8A77965 (R-Car M3-N) SCIF compatible UART.
|
||||
- "renesas,hscif-r8a77965" for R8A77965 (R-Car M3-N) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a77970" for R8A77970 (R-Car V3M) SCIF compatible UART.
|
||||
- "renesas,hscif-r8a77970" for R8A77970 (R-Car V3M) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a77980" for R8A77980 (R-Car V3H) SCIF compatible UART.
|
||||
|
@ -182,6 +182,7 @@ karo Ka-Ro electronics GmbH
|
||||
keithkoep Keith & Koep GmbH
|
||||
keymile Keymile GmbH
|
||||
khadas Khadas
|
||||
kiebackpeter Kieback & Peter GmbH
|
||||
kinetic Kinetic Technologies
|
||||
kingnovel Kingnovel Technology Co., Ltd.
|
||||
kosagi Sutajio Ko-Usagi PTE Ltd.
|
||||
|
@ -98,6 +98,14 @@ Finally, if you need to remove all overlays in one-go, just call
|
||||
of_overlay_remove_all() which will remove every single one in the correct
|
||||
order.
|
||||
|
||||
In addition, there is the option to register notifiers that get called on
|
||||
overlay operations. See of_overlay_notifier_register/unregister and
|
||||
enum of_overlay_notify_action for details.
|
||||
|
||||
Note that a notifier callback is not supposed to store pointers to a device
|
||||
tree node or its content beyond OF_OVERLAY_POST_REMOVE corresponding to the
|
||||
respective node it received.
|
||||
|
||||
Overlay DTS Format
|
||||
------------------
|
||||
|
||||
|
@ -102,12 +102,28 @@ static DEFINE_IDR(ovcs_idr);
|
||||
|
||||
static BLOCKING_NOTIFIER_HEAD(overlay_notify_chain);
|
||||
|
||||
/**
|
||||
* of_overlay_notifier_register() - Register notifier for overlay operations
|
||||
* @nb: Notifier block to register
|
||||
*
|
||||
* Register for notification on overlay operations on device tree nodes. The
|
||||
* reported actions definied by @of_reconfig_change. The notifier callback
|
||||
* furthermore receives a pointer to the affected device tree node.
|
||||
*
|
||||
* Note that a notifier callback is not supposed to store pointers to a device
|
||||
* tree node or its content beyond @OF_OVERLAY_POST_REMOVE corresponding to the
|
||||
* respective node it received.
|
||||
*/
|
||||
int of_overlay_notifier_register(struct notifier_block *nb)
|
||||
{
|
||||
return blocking_notifier_chain_register(&overlay_notify_chain, nb);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_overlay_notifier_register);
|
||||
|
||||
/**
|
||||
* of_overlay_notifier_register() - Unregister notifier for overlay operations
|
||||
* @nb: Notifier block to unregister
|
||||
*/
|
||||
int of_overlay_notifier_unregister(struct notifier_block *nb)
|
||||
{
|
||||
return blocking_notifier_chain_unregister(&overlay_notify_chain, nb);
|
||||
@ -671,17 +687,13 @@ static void free_overlay_changeset(struct overlay_changeset *ovcs)
|
||||
of_node_put(ovcs->fragments[i].overlay);
|
||||
}
|
||||
kfree(ovcs->fragments);
|
||||
|
||||
/*
|
||||
* TODO
|
||||
*
|
||||
* would like to: kfree(ovcs->overlay_tree);
|
||||
* but can not since drivers may have pointers into this data
|
||||
*
|
||||
* would like to: kfree(ovcs->fdt);
|
||||
* but can not since drivers may have pointers into this data
|
||||
* There should be no live pointers into ovcs->overlay_tree and
|
||||
* ovcs->fdt due to the policy that overlay notifiers are not allowed
|
||||
* to retain pointers into the overlay devicetree.
|
||||
*/
|
||||
|
||||
kfree(ovcs->overlay_tree);
|
||||
kfree(ovcs->fdt);
|
||||
kfree(ovcs);
|
||||
}
|
||||
|
||||
|
@ -787,10 +787,9 @@ static void check_pci_bridge(struct check *c, struct dt_info *dti, struct node *
|
||||
FAIL(c, dti, node, "incorrect #size-cells for PCI bridge");
|
||||
|
||||
prop = get_property(node, "bus-range");
|
||||
if (!prop) {
|
||||
FAIL(c, dti, node, "missing bus-range for PCI bridge");
|
||||
if (!prop)
|
||||
return;
|
||||
}
|
||||
|
||||
if (prop->val.len != (sizeof(cell_t) * 2)) {
|
||||
FAIL_PROP(c, dti, node, prop, "value must be 2 cells");
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user