mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-16 18:26:42 +00:00
Devicetree fixes for v6.6, part 2:
- Fix potential memory leak in of_changeset_action() - Fix some i.MX binding warnings - Fix typo in renesas,vin binding field-even-active property - Fix andestech,ax45mp-cache example unit-address - Add missing additionalProperties on RiscV CPU interrupt-controller node - Add missing unevaluatedProperties on media bindings - Fix brcm,iproc-pcie binding 'msi' child node schema - Fix MEMSIC MXC4005 compatible string -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmUgWHMACgkQ+vtdtY28 YcN93RAAoENqp3ArpOaXSuXRwHvd8jq2HXZ9JK+HgxlmyPkgguvvOef+dNmIvq4g +0ILIWs5H4PQggihLeU2xn6h++ZhOGAbXxzMx3J7cL7NcI76VYf1BvMIQci57rDh E7GvAWA3oWNJBqNU5RRRgKbHBApYFVyWZ8VgEvbZ9ouYnm0FPy1GPykdf3pJy3D4 0HBfM2UVEriawLvms6MGiCemyRmRPnFIrKfOrpfekecFzLhCZ6am3MaPLQj1Fy6m d9ieSHmcSZZ2uhtdp9qf/tvl6qy1Q+3aodKjTxZAVxLRQHmsmyZRXXDLnwjP+u4d atcTL0+5D0PgrO0yknT2zlqf7QlVi4k6Mep4x8OJ1CaAIvP6G4p3Do3V5QFXzDlI fWXgaO1t88QbItKk8U2VYqLBVfqYTrr6S/9SuwWakYWOGQf00PyVSjkYsNHITYpJ nP4sKKddo0q0lX6vhkzq+Yq87bZDh9KksETepRZQH4rOgyW7OceAlPEOe2y1rDc5 NllcLc36B3MPnIfWhTu/M7Xc3OGeprmKvNEZ6sXeSwuBW54rfvtlpZ3ATHVW8OEi kt9+79mcgoLIN2UMTUMUiflxo6MVE8rMdG5hedG+zPZ64hv+EWaUzn1cZoIELkOl OLn22mkDWn2fl5IGBgwAFp0Y+gV6XIGHUd1dKJbZ1bZHY4OT7zE= =BU3m -----END PGP SIGNATURE----- Merge tag 'devicetree-fixes-for-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree fixes from Rob Herring: - Fix potential memory leak in of_changeset_action() - Fix some i.MX binding warnings - Fix typo in renesas,vin binding field-even-active property - Fix andestech,ax45mp-cache example unit-address - Add missing additionalProperties on RiscV CPU interrupt-controller node - Add missing unevaluatedProperties on media bindings - Fix brcm,iproc-pcie binding 'msi' child node schema - Fix MEMSIC MXC4005 compatible string * tag 'devicetree-fixes-for-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: dt-bindings: trivial-devices: Fix MEMSIC MXC4005 compatible string dt-bindings: PCI: brcm,iproc-pcie: Fix 'msi' child node schema dt-bindings: PCI: brcm,iproc-pcie: Drop common pci-bus properties dt-bindings: PCI: brcm,iproc-pcie: Fix example indentation media: dt-bindings: Add missing unevaluatedProperties on child node schemas dt-bindings: bus: fsl,imx8qxp-pixel-link-msi-bus: Drop child 'reg' property media: dt-bindings: imx7-csi: Make power-domains not required for imx8mq dt-bindings: media: renesas,vin: Fix field-even-active spelling dt-bindings: cache: andestech,ax45mp-cache: Fix unit address in example of: overlay: Reorder struct fragment fields kerneldoc dt-bindings: display: fsl,imx6-hdmi: Change to 'unevaluatedProperties: false' dt-bindings: riscv: cpus: Add missing additionalProperties on interrupt-controller node of: dynamic: Fix potential memory leak in of_changeset_action()
This commit is contained in:
commit
5e5558f5c9
@ -73,9 +73,6 @@ patternProperties:
|
|||||||
"^.*@[0-9a-f]+$":
|
"^.*@[0-9a-f]+$":
|
||||||
description: Devices attached to the bus
|
description: Devices attached to the bus
|
||||||
type: object
|
type: object
|
||||||
properties:
|
|
||||||
reg:
|
|
||||||
maxItems: 1
|
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- reg
|
- reg
|
||||||
|
@ -69,7 +69,7 @@ examples:
|
|||||||
- |
|
- |
|
||||||
#include <dt-bindings/interrupt-controller/irq.h>
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
cache-controller@2010000 {
|
cache-controller@13400000 {
|
||||||
compatible = "andestech,ax45mp-cache", "cache";
|
compatible = "andestech,ax45mp-cache", "cache";
|
||||||
reg = <0x13400000 0x100000>;
|
reg = <0x13400000 0x100000>;
|
||||||
interrupts = <508 IRQ_TYPE_LEVEL_HIGH>;
|
interrupts = <508 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
@ -87,7 +87,7 @@ required:
|
|||||||
- interrupts
|
- interrupts
|
||||||
- ports
|
- ports
|
||||||
|
|
||||||
additionalProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
@ -54,6 +54,7 @@ properties:
|
|||||||
|
|
||||||
port:
|
port:
|
||||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
endpoint:
|
endpoint:
|
||||||
|
@ -69,6 +69,7 @@ properties:
|
|||||||
properties:
|
properties:
|
||||||
port@0:
|
port@0:
|
||||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
unevaluatedProperties: false
|
||||||
description: Input port
|
description: Input port
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
@ -89,6 +90,7 @@ properties:
|
|||||||
|
|
||||||
port@1:
|
port@1:
|
||||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
unevaluatedProperties: false
|
||||||
description: Output port
|
description: Output port
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
|
@ -59,7 +59,6 @@ allOf:
|
|||||||
compatible:
|
compatible:
|
||||||
contains:
|
contains:
|
||||||
enum:
|
enum:
|
||||||
- fsl,imx8mq-csi
|
|
||||||
- fsl,imx8mm-csi
|
- fsl,imx8mm-csi
|
||||||
then:
|
then:
|
||||||
required:
|
required:
|
||||||
|
@ -95,7 +95,7 @@ properties:
|
|||||||
synchronization is selected.
|
synchronization is selected.
|
||||||
default: 1
|
default: 1
|
||||||
|
|
||||||
field-active-even: true
|
field-even-active: true
|
||||||
|
|
||||||
bus-width: true
|
bus-width: true
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ properties:
|
|||||||
synchronization is selected.
|
synchronization is selected.
|
||||||
default: 1
|
default: 1
|
||||||
|
|
||||||
field-active-even: true
|
field-even-active: true
|
||||||
|
|
||||||
bus-width: true
|
bus-width: true
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@ properties:
|
|||||||
patternProperties:
|
patternProperties:
|
||||||
"^port@[01]$":
|
"^port@[01]$":
|
||||||
$ref: /schemas/graph.yaml#/$defs/port-base
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
||||||
|
unevaluatedProperties: false
|
||||||
description:
|
description:
|
||||||
Camera A and camera B inputs.
|
Camera A and camera B inputs.
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@ maintainers:
|
|||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: /schemas/pci/pci-bus.yaml#
|
- $ref: /schemas/pci/pci-bus.yaml#
|
||||||
- $ref: /schemas/interrupt-controller/msi-controller.yaml#
|
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
@ -34,13 +33,6 @@ properties:
|
|||||||
description: >
|
description: >
|
||||||
Base address and length of the PCIe controller I/O register space
|
Base address and length of the PCIe controller I/O register space
|
||||||
|
|
||||||
interrupt-map: true
|
|
||||||
|
|
||||||
interrupt-map-mask: true
|
|
||||||
|
|
||||||
"#interrupt-cells":
|
|
||||||
const: 1
|
|
||||||
|
|
||||||
ranges:
|
ranges:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
@ -54,16 +46,8 @@ properties:
|
|||||||
items:
|
items:
|
||||||
- const: pcie-phy
|
- const: pcie-phy
|
||||||
|
|
||||||
bus-range: true
|
|
||||||
|
|
||||||
dma-coherent: true
|
dma-coherent: true
|
||||||
|
|
||||||
"#address-cells": true
|
|
||||||
|
|
||||||
"#size-cells": true
|
|
||||||
|
|
||||||
device_type: true
|
|
||||||
|
|
||||||
brcm,pcie-ob:
|
brcm,pcie-ob:
|
||||||
type: boolean
|
type: boolean
|
||||||
description: >
|
description: >
|
||||||
@ -78,21 +62,25 @@ properties:
|
|||||||
|
|
||||||
msi:
|
msi:
|
||||||
type: object
|
type: object
|
||||||
|
$ref: /schemas/interrupt-controller/msi-controller.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
items:
|
items:
|
||||||
- const: brcm,iproc-msi
|
- const: brcm,iproc-msi
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 4
|
||||||
|
|
||||||
|
brcm,pcie-msi-inten:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
Needs to be present for some older iProc platforms that require the
|
||||||
|
interrupt enable registers to be set explicitly to enable MSI
|
||||||
|
|
||||||
msi-parent: true
|
msi-parent: true
|
||||||
|
|
||||||
msi-controller: true
|
|
||||||
|
|
||||||
brcm,pcie-msi-inten:
|
|
||||||
type: boolean
|
|
||||||
description: >
|
|
||||||
Needs to be present for some older iProc platforms that require the
|
|
||||||
interrupt enable registers to be set explicitly to enable MSI
|
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
brcm,pcie-ob-axi-offset: ["brcm,pcie-ob"]
|
brcm,pcie-ob-axi-offset: ["brcm,pcie-ob"]
|
||||||
brcm,pcie-msi-inten: [msi-controller]
|
brcm,pcie-msi-inten: [msi-controller]
|
||||||
@ -117,68 +105,69 @@ unevaluatedProperties: false
|
|||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
bus {
|
gic: interrupt-controller {
|
||||||
#address-cells = <1>;
|
interrupt-controller;
|
||||||
#size-cells = <1>;
|
#interrupt-cells = <3>;
|
||||||
pcie0: pcie@18012000 {
|
};
|
||||||
compatible = "brcm,iproc-pcie";
|
|
||||||
reg = <0x18012000 0x1000>;
|
pcie@18012000 {
|
||||||
|
compatible = "brcm,iproc-pcie";
|
||||||
#interrupt-cells = <1>;
|
reg = <0x18012000 0x1000>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>;
|
#interrupt-cells = <1>;
|
||||||
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
linux,pci-domain = <0>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 100 IRQ_TYPE_NONE>;
|
||||||
|
|
||||||
bus-range = <0x00 0xff>;
|
linux,pci-domain = <0>;
|
||||||
|
|
||||||
#address-cells = <3>;
|
bus-range = <0x00 0xff>;
|
||||||
#size-cells = <2>;
|
|
||||||
device_type = "pci";
|
#address-cells = <3>;
|
||||||
ranges = <0x81000000 0 0 0x28000000 0 0x00010000>,
|
#size-cells = <2>;
|
||||||
<0x82000000 0 0x20000000 0x20000000 0 0x04000000>;
|
device_type = "pci";
|
||||||
|
ranges = <0x81000000 0 0 0x28000000 0 0x00010000>,
|
||||||
phys = <&phy 0 5>;
|
<0x82000000 0 0x20000000 0x20000000 0 0x04000000>;
|
||||||
phy-names = "pcie-phy";
|
|
||||||
|
phys = <&phy 0 5>;
|
||||||
brcm,pcie-ob;
|
phy-names = "pcie-phy";
|
||||||
brcm,pcie-ob-axi-offset = <0x00000000>;
|
|
||||||
|
brcm,pcie-ob;
|
||||||
msi-parent = <&msi0>;
|
brcm,pcie-ob-axi-offset = <0x00000000>;
|
||||||
|
|
||||||
/* iProc event queue based MSI */
|
msi-parent = <&msi0>;
|
||||||
msi0: msi {
|
|
||||||
compatible = "brcm,iproc-msi";
|
/* iProc event queue based MSI */
|
||||||
msi-controller;
|
msi0: msi {
|
||||||
interrupt-parent = <&gic>;
|
compatible = "brcm,iproc-msi";
|
||||||
interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>,
|
msi-controller;
|
||||||
<GIC_SPI 97 IRQ_TYPE_NONE>,
|
interrupt-parent = <&gic>;
|
||||||
<GIC_SPI 98 IRQ_TYPE_NONE>,
|
interrupts = <GIC_SPI 96 IRQ_TYPE_NONE>,
|
||||||
<GIC_SPI 99 IRQ_TYPE_NONE>;
|
<GIC_SPI 97 IRQ_TYPE_NONE>,
|
||||||
};
|
<GIC_SPI 98 IRQ_TYPE_NONE>,
|
||||||
};
|
<GIC_SPI 99 IRQ_TYPE_NONE>;
|
||||||
|
};
|
||||||
pcie1: pcie@18013000 {
|
};
|
||||||
compatible = "brcm,iproc-pcie";
|
- |
|
||||||
reg = <0x18013000 0x1000>;
|
pcie@18013000 {
|
||||||
|
compatible = "brcm,iproc-pcie";
|
||||||
#interrupt-cells = <1>;
|
reg = <0x18013000 0x1000>;
|
||||||
interrupt-map-mask = <0 0 0 0>;
|
|
||||||
interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>;
|
#interrupt-cells = <1>;
|
||||||
|
interrupt-map-mask = <0 0 0 0>;
|
||||||
linux,pci-domain = <1>;
|
interrupt-map = <0 0 0 0 &gic GIC_SPI 106 IRQ_TYPE_NONE>;
|
||||||
|
|
||||||
bus-range = <0x00 0xff>;
|
linux,pci-domain = <1>;
|
||||||
|
|
||||||
#address-cells = <3>;
|
bus-range = <0x00 0xff>;
|
||||||
#size-cells = <2>;
|
|
||||||
device_type = "pci";
|
#address-cells = <3>;
|
||||||
ranges = <0x81000000 0 0 0x48000000 0 0x00010000>,
|
#size-cells = <2>;
|
||||||
<0x82000000 0 0x40000000 0x40000000 0 0x04000000>;
|
device_type = "pci";
|
||||||
|
ranges = <0x81000000 0 0 0x48000000 0 0x00010000>,
|
||||||
phys = <&phy 1 6>;
|
<0x82000000 0 0x40000000 0x40000000 0 0x04000000>;
|
||||||
phy-names = "pcie-phy";
|
|
||||||
};
|
phys = <&phy 1 6>;
|
||||||
|
phy-names = "pcie-phy";
|
||||||
};
|
};
|
||||||
|
@ -91,6 +91,7 @@ properties:
|
|||||||
|
|
||||||
interrupt-controller:
|
interrupt-controller:
|
||||||
type: object
|
type: object
|
||||||
|
additionalProperties: false
|
||||||
description: Describes the CPU's local interrupt controller
|
description: Describes the CPU's local interrupt controller
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
|
@ -232,7 +232,7 @@ properties:
|
|||||||
# MEMSIC magnetometer
|
# MEMSIC magnetometer
|
||||||
- memsic,mmc35240
|
- memsic,mmc35240
|
||||||
# MEMSIC 3-axis accelerometer
|
# MEMSIC 3-axis accelerometer
|
||||||
- memsic,mx4005
|
- memsic,mxc4005
|
||||||
# MEMSIC 2-axis 8-bit digital accelerometer
|
# MEMSIC 2-axis 8-bit digital accelerometer
|
||||||
- memsic,mxc6225
|
- memsic,mxc6225
|
||||||
# MEMSIC 2-axis 8-bit digital accelerometer
|
# MEMSIC 2-axis 8-bit digital accelerometer
|
||||||
|
@ -890,13 +890,13 @@ int of_changeset_action(struct of_changeset *ocs, unsigned long action,
|
|||||||
{
|
{
|
||||||
struct of_changeset_entry *ce;
|
struct of_changeset_entry *ce;
|
||||||
|
|
||||||
|
if (WARN_ON(action >= ARRAY_SIZE(action_names)))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
ce = kzalloc(sizeof(*ce), GFP_KERNEL);
|
ce = kzalloc(sizeof(*ce), GFP_KERNEL);
|
||||||
if (!ce)
|
if (!ce)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (WARN_ON(action >= ARRAY_SIZE(action_names)))
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
/* get a reference to the node */
|
/* get a reference to the node */
|
||||||
ce->action = action;
|
ce->action = action;
|
||||||
ce->np = of_node_get(np);
|
ce->np = of_node_get(np);
|
||||||
|
@ -45,8 +45,8 @@ struct target {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* struct fragment - info about fragment nodes in overlay expanded device tree
|
* struct fragment - info about fragment nodes in overlay expanded device tree
|
||||||
* @target: target of the overlay operation
|
|
||||||
* @overlay: pointer to the __overlay__ node
|
* @overlay: pointer to the __overlay__ node
|
||||||
|
* @target: target of the overlay operation
|
||||||
*/
|
*/
|
||||||
struct fragment {
|
struct fragment {
|
||||||
struct device_node *overlay;
|
struct device_node *overlay;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user