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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'devicetree-fixes-for-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree fixes from Rob Herring:

- Revert schema checks on %.dtb targets. This was problematic for some
external build tools.

- A few DT binding example fixes

- Add back dropped 'enet-phy-lane-no-swap' Ethernet PHY property

- Drop erroneous if/then schema in nxp,imx7-mipi-csi2

- Add a quirk to fix some interrupt controllers use of 'interrupt-map'

* tag 'devicetree-fixes-for-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
Revert "kbuild: Enable DT schema checks for %.dtb targets"
dt-bindings: bq25980: Fixup the example
dt-bindings: input: gpio-keys: Fix interrupts in example
dt-bindings: net: Reintroduce PHY no lane swap binding
dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema
of/irq: Add a quirk for controllers with their own definition of interrupt-map
dt-bindings: iio: adc: exynos-adc: Fix node name in example

+43 -22
+1 -1
Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml
··· 136 136 samsung,syscon-phandle = <&pmu_system_controller>; 137 137 138 138 /* NTC thermistor is a hwmon device */ 139 - ncp15wb473 { 139 + thermistor { 140 140 compatible = "murata,ncp15wb473"; 141 141 pullup-uv = <1800000>; 142 142 pullup-ohm = <47000>;
+1 -1
Documentation/devicetree/bindings/input/gpio-keys.yaml
··· 142 142 down { 143 143 label = "GPIO Key DOWN"; 144 144 linux,code = <108>; 145 - interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 145 + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 146 146 }; 147 147 }; 148 148
+2 -12
Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
··· 79 79 80 80 properties: 81 81 data-lanes: 82 + description: 83 + Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data lines. 82 84 items: 83 85 minItems: 1 84 86 maxItems: 4 ··· 92 90 93 91 required: 94 92 - data-lanes 95 - 96 - allOf: 97 - - if: 98 - properties: 99 - compatible: 100 - contains: 101 - const: fsl,imx7-mipi-csi2 102 - then: 103 - properties: 104 - data-lanes: 105 - items: 106 - maxItems: 2 107 93 108 94 port@1: 109 95 $ref: /schemas/graph.yaml#/properties/port
+8
Documentation/devicetree/bindings/net/ethernet-phy.yaml
··· 91 91 compensate for the board being designed with the lanes 92 92 swapped. 93 93 94 + enet-phy-lane-no-swap: 95 + $ref: /schemas/types.yaml#/definitions/flag 96 + description: 97 + If set, indicates that PHY will disable swap of the 98 + TX/RX lanes. This property allows the PHY to work correcly after 99 + e.g. wrong bootstrap configuration caused by issues in PCB 100 + layout design. 101 + 94 102 eee-broken-100tx: 95 103 $ref: /schemas/types.yaml#/definitions/flag 96 104 description:
+1 -1
Documentation/devicetree/bindings/power/supply/bq25980.yaml
··· 105 105 reg = <0x65>; 106 106 interrupt-parent = <&gpio1>; 107 107 interrupts = <16 IRQ_TYPE_EDGE_FALLING>; 108 - ti,watchdog-timer = <0>; 108 + ti,watchdog-timeout-ms = <0>; 109 109 ti,sc-ocp-limit-microamp = <2000000>; 110 110 ti,sc-ovp-limit-microvolt = <17800000>; 111 111 monitored-battery = <&bat>;
+5 -5
Makefile
··· 1374 1374 1375 1375 ifneq ($(dtstree),) 1376 1376 1377 - %.dtb: dt_binding_check include/config/kernel.release scripts_dtc 1378 - $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml 1377 + %.dtb: include/config/kernel.release scripts_dtc 1378 + $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ 1379 1379 1380 - %.dtbo: dt_binding_check include/config/kernel.release scripts_dtc 1381 - $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml 1380 + %.dtbo: include/config/kernel.release scripts_dtc 1381 + $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ 1382 1382 1383 1383 PHONY += dtbs dtbs_install dtbs_check 1384 1384 dtbs: include/config/kernel.release scripts_dtc 1385 1385 $(Q)$(MAKE) $(build)=$(dtstree) 1386 1386 1387 - ifneq ($(filter dtbs_check %.dtb %.dtbo, $(MAKECMDGOALS)),) 1387 + ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),) 1388 1388 export CHECK_DTBS=y 1389 1389 dtbs: dt_binding_check 1390 1390 endif
+25 -2
drivers/of/irq.c
··· 76 76 } 77 77 EXPORT_SYMBOL_GPL(of_irq_find_parent); 78 78 79 + /* 80 + * These interrupt controllers abuse interrupt-map for unspeakable 81 + * reasons and rely on the core code to *ignore* it (the drivers do 82 + * their own parsing of the property). 83 + * 84 + * If you think of adding to the list for something *new*, think 85 + * again. There is a high chance that you will be sent back to the 86 + * drawing board. 87 + */ 88 + static const char * const of_irq_imap_abusers[] = { 89 + "CBEA,platform-spider-pic", 90 + "sti,platform-spider-pic", 91 + "realtek,rtl-intc", 92 + "fsl,ls1021a-extirq", 93 + "fsl,ls1043a-extirq", 94 + "fsl,ls1088a-extirq", 95 + "renesas,rza1-irqc", 96 + NULL, 97 + }; 98 + 79 99 /** 80 100 * of_irq_parse_raw - Low level interrupt tree parsing 81 101 * @addr: address specifier (start of "reg" property of the device) in be32 format ··· 179 159 /* 180 160 * Now check if cursor is an interrupt-controller and 181 161 * if it is then we are done, unless there is an 182 - * interrupt-map which takes precedence. 162 + * interrupt-map which takes precedence except on one 163 + * of these broken platforms that want to parse 164 + * interrupt-map themselves for $reason. 183 165 */ 184 166 bool intc = of_property_read_bool(ipar, "interrupt-controller"); 185 167 186 168 imap = of_get_property(ipar, "interrupt-map", &imaplen); 187 - if (imap == NULL && intc) { 169 + if (intc && 170 + (!imap || of_device_compatible_match(ipar, of_irq_imap_abusers))) { 188 171 pr_debug(" -> got it !\n"); 189 172 return 0; 190 173 }