Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: Another pass removing cases of 'allOf' containing a '$ref'

Another pass at removing unnecessary use of 'allOf' with a '$ref'.

json-schema versions draft7 and earlier have a weird behavior in that
any keywords combined with a '$ref' are ignored (silently). The correct
form was to put a '$ref' under an 'allOf'. This behavior is now changed
in the 2019-09 json-schema spec and '$ref' can be mixed with other
keywords.

Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Richard Weinberger <richard@nod.at>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-By: Vinod Koul <vkoul@kernel.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Marek Behún <kabel@kernel.org>
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220228213802.1639658-1-robh@kernel.org

+36 -69
+1 -2
Documentation/devicetree/bindings/connector/usb-connector.yaml
··· 104 104 - "1.5A" and "3.0A", 5V 1.5A and 5V 3.0A respectively, as defined in USB 105 105 Type-C Cable and Connector specification, when Power Delivery is not 106 106 supported. 107 - allOf: 108 - - $ref: /schemas/types.yaml#/definitions/string 107 + $ref: /schemas/types.yaml#/definitions/string 109 108 enum: 110 109 - default 111 110 - 1.5A
+1 -2
Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
··· 72 72 - const: hpd-removed 73 73 74 74 ddc: 75 - allOf: 76 - - $ref: /schemas/types.yaml#/definitions/phandle 75 + $ref: /schemas/types.yaml#/definitions/phandle 77 76 description: > 78 77 Phandle of the I2C controller used for DDC EDID probing 79 78
+2 -3
Documentation/devicetree/bindings/display/bridge/adi,adv7511.yaml
··· 76 76 77 77 adi,input-depth: 78 78 description: Number of bits per color component at the input. 79 - allOf: 80 - - $ref: /schemas/types.yaml#/definitions/uint32 81 - - enum: [ 8, 10, 12 ] 79 + $ref: /schemas/types.yaml#/definitions/uint32 80 + enum: [ 8, 10, 12 ] 82 81 83 82 adi,input-colorspace: 84 83 description: Input color space.
+2 -3
Documentation/devicetree/bindings/display/bridge/synopsys,dw-hdmi.yaml
··· 26 26 reg-io-width: 27 27 description: 28 28 Width (in bytes) of the registers specified by the reg property. 29 - allOf: 30 - - $ref: /schemas/types.yaml#/definitions/uint32 31 - - enum: [1, 4] 29 + $ref: /schemas/types.yaml#/definitions/uint32 30 + enum: [1, 4] 32 31 default: 1 33 32 34 33 clocks:
+1 -2
Documentation/devicetree/bindings/display/panel/display-timings.yaml
··· 31 31 patternProperties: 32 32 "^timing": 33 33 type: object 34 - allOf: 35 - - $ref: panel-timing.yaml# 34 + $ref: panel-timing.yaml# 36 35 37 36 additionalProperties: false 38 37
+2 -2
Documentation/devicetree/bindings/display/ste,mcde.yaml
··· 58 58 "^dsi@[0-9a-f]+$": 59 59 description: subnodes for the three DSI host adapters 60 60 type: object 61 - allOf: 62 - - $ref: dsi-controller.yaml# 61 + $ref: dsi-controller.yaml# 62 + 63 63 properties: 64 64 compatible: 65 65 const: ste,mcde-dsi
+4 -5
Documentation/devicetree/bindings/input/adc-joystick.yaml
··· 61 61 description: EV_ABS specific event code generated by the axis. 62 62 63 63 abs-range: 64 - allOf: 65 - - $ref: /schemas/types.yaml#/definitions/uint32-array 66 - - items: 67 - - description: minimum value 68 - - description: maximum value 64 + $ref: /schemas/types.yaml#/definitions/uint32-array 65 + items: 66 + - description: minimum value 67 + - description: maximum value 69 68 description: > 70 69 Minimum and maximum values produced by the axis. 71 70 For an ABS_X axis this will be the left-most and right-most
+1 -2
Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml
··· 32 32 patternProperties: 33 33 "^multi-led@[0-9a-b]$": 34 34 type: object 35 - allOf: 36 - - $ref: leds-class-multicolor.yaml# 35 + $ref: leds-class-multicolor.yaml# 37 36 description: 38 37 This node represents one of the RGB LED devices on Turris Omnia. 39 38 No subnodes need to be added for subchannels since this controller only
+1 -2
Documentation/devicetree/bindings/leds/leds-lp50xx.yaml
··· 55 55 patternProperties: 56 56 '^multi-led@[0-9a-f]$': 57 57 type: object 58 - allOf: 59 - - $ref: leds-class-multicolor.yaml# 58 + $ref: leds-class-multicolor.yaml# 60 59 properties: 61 60 reg: 62 61 minItems: 1
+4 -8
Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
··· 38 38 description: 39 39 This property specifies the delay in usecs between the 40 40 assertion of the CS and the first clock pulse. 41 - allOf: 42 - - $ref: /schemas/types.yaml#/definitions/uint32 43 - - default: 0 44 - - minimum: 0 41 + $ref: /schemas/types.yaml#/definitions/uint32 42 + default: 0 45 43 46 44 google,cros-ec-spi-msg-delay: 47 45 description: 48 46 This property specifies the delay in usecs between messages. 49 - allOf: 50 - - $ref: /schemas/types.yaml#/definitions/uint32 51 - - default: 0 52 - - minimum: 0 47 + $ref: /schemas/types.yaml#/definitions/uint32 48 + default: 0 53 49 54 50 google,has-vbc-nvram: 55 51 description:
+1 -2
Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
··· 96 96 97 97 rockchip,boot-ecc-strength: 98 98 enum: [16, 24, 40, 60, 70] 99 - allOf: 100 - - $ref: /schemas/types.yaml#/definitions/uint32 99 + $ref: /schemas/types.yaml#/definitions/uint32 101 100 description: | 102 101 If specified it indicates that a different BCH/ECC setting is 103 102 supported by the boot ROM.
+1 -2
Documentation/devicetree/bindings/net/ti,cpsw-switch.yaml
··· 88 88 type: object 89 89 description: CPSW external ports 90 90 91 - allOf: 92 - - $ref: ethernet-controller.yaml# 91 + $ref: ethernet-controller.yaml# 93 92 94 93 properties: 95 94 reg:
+1 -2
Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml
··· 76 76 77 77 connector: 78 78 type: object 79 - allOf: 80 - - $ref: ../connector/usb-connector.yaml 79 + $ref: /schemas/connector/usb-connector.yaml 81 80 properties: 82 81 vbus-supply: true 83 82
+1 -3
Documentation/devicetree/bindings/power/supply/sbs,sbs-manager.yaml
··· 46 46 patternProperties: 47 47 "^i2c@[1-4]$": 48 48 type: object 49 - 50 - allOf: 51 - - $ref: /schemas/i2c/i2c-controller.yaml# 49 + $ref: /schemas/i2c/i2c-controller.yaml# 52 50 53 51 examples: 54 52 - |
+1 -2
Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml
··· 95 95 addresses. Cache and memory access settings are provided through a 96 96 Memory Protection Unit (MPU), programmable only from the R5Fs. 97 97 98 - allOf: 99 - - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# 98 + $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# 100 99 101 100 properties: 102 101 compatible:
+3 -12
Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
··· 281 281 PRUSS INTC Node. Each PRUSS has a single interrupt controller instance 282 282 that is common to all the PRU cores. This should be represented as an 283 283 interrupt-controller node. 284 - 285 - allOf: 286 - - $ref: /schemas/interrupt-controller/ti,pruss-intc.yaml# 287 - 284 + $ref: /schemas/interrupt-controller/ti,pruss-intc.yaml# 288 285 type: object 289 286 290 287 mdio@[a-f0-9]+$: ··· 289 292 MDIO Node. Each PRUSS has an MDIO module that can be used to control 290 293 external PHYs. The MDIO module used within the PRU-ICSS is an instance of 291 294 the MDIO Controller used in TI Davinci SoCs. 292 - 293 - allOf: 294 - - $ref: /schemas/net/ti,davinci-mdio.yaml# 295 - 295 + $ref: /schemas/net/ti,davinci-mdio.yaml# 296 296 type: object 297 297 298 298 "^(pru|rtu|txpru)@[0-9a-f]+$": ··· 299 305 inactive by using the standard DT string property, "status". The ICSSG IP 300 306 present on K3 SoCs have additional auxiliary PRU cores with slightly 301 307 different IP integration. 302 - 303 - allOf: 304 - - $ref: /schemas/remoteproc/ti,pru-rproc.yaml# 305 - 308 + $ref: /schemas/remoteproc/ti,pru-rproc.yaml# 306 309 type: object 307 310 308 311 required:
+1 -2
Documentation/devicetree/bindings/sound/st,stm32-sai.yaml
··· 115 115 By default, custom protocol is assumed, meaning that protocol is 116 116 configured according to protocol defined in related DAI link node, 117 117 such as i2s, left justified, right justified, dsp and pdm protocols. 118 - allOf: 119 - - $ref: /schemas/types.yaml#/definitions/flag 118 + $ref: /schemas/types.yaml#/definitions/flag 120 119 121 120 "#clock-cells": 122 121 description: Configure the SAI device as master clock provider.
+6 -7
Documentation/devicetree/bindings/sound/tlv320adcx140.yaml
··· 176 176 4 - Drive weak low and active high 177 177 5 - Drive Hi-Z and active high 178 178 179 - allOf: 180 - - $ref: /schemas/types.yaml#/definitions/uint32-array 181 - - minItems: 2 182 - maxItems: 2 183 - items: 184 - maximum: 15 185 - default: [2, 2] 179 + $ref: /schemas/types.yaml#/definitions/uint32-array 180 + minItems: 2 181 + maxItems: 2 182 + items: 183 + maximum: 15 184 + default: [2, 2] 186 185 187 186 required: 188 187 - compatible
+1 -3
Documentation/devicetree/bindings/spi/spi-controller.yaml
··· 93 93 patternProperties: 94 94 "^.*@[0-9a-f]+$": 95 95 type: object 96 - 97 - allOf: 98 - - $ref: spi-peripheral-props.yaml 96 + $ref: spi-peripheral-props.yaml 99 97 100 98 required: 101 99 - compatible
+1 -3
Documentation/devicetree/bindings/usb/st,stusb160x.yaml
··· 32 32 33 33 connector: 34 34 type: object 35 - 36 - allOf: 37 - - $ref: ../connector/usb-connector.yaml 35 + $ref: /schemas/connector/usb-connector.yaml# 38 36 39 37 properties: 40 38 compatible: