openwrt/target/linux/bcm27xx/patches-5.4/950-0408-overlays-Fix-mcp23017-s-addr-parameter.patch

47 lines
1.5 KiB
Diff
Raw Normal View History

From 9fa750db2d682fa2c124dae609d05d15f93a5e52 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Tue, 4 Feb 2020 15:22:55 +0000
Subject: [PATCH] overlays: Fix mcp23017's addr parameter
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 | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
--- a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts
+++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts
@@ -48,15 +48,13 @@
};
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;
};
};