overlays: Fix mcp23017's addr parameter
authorPhil Elwell <phil@raspberrypi.com>
Tue, 4 Feb 2020 15:22:55 +0000 (15:22 +0000)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:19 +0000 (16:33 +0100)
The addr parameter of the mcp23017 overlay was broken by the addition
of the noints parameter; splitting the mcp node in two without also
modifying the second half from the addr parameter would cause the two
halves to separate. Change the implementation strategy to patch
fragment 2 (as was originally proposed). This will prevent the
overlay from being applied at runtime until the "dtoverlay" command
is improved, but the overlay already has this restriction due to
fragment 3 so this isn't a step backwards.

See: https://github.com/raspberrypi/linux/issues/3449

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
arch/arm/boot/dts/overlays/mcp23017-overlay.dts

index 16af971..c546d8b 100644 (file)
        };
 
        fragment@4 {
-               target = <&i2c1>;
-               __overlay__ {
-                       mcp23017_irq: mcp@20 {
-                               #interrupt-cells=<2>;
-                               interrupt-parent = <&gpio>;
-                               interrupts = <4 2>;
-                               interrupt-controller;
-                               microchip,irq-mirror;
-                       };
+               target = <&mcp23017>;
+               mcp23017_irq: __overlay__ {
+                       #interrupt-cells=<2>;
+                       interrupt-parent = <&gpio>;
+                       interrupts = <4 2>;
+                       interrupt-controller;
+                       microchip,irq-mirror;
                };
        };