On Mon, Nov 5, 2018 at 1:38 PM Daniel Santos <[email protected]> wrote: > > Hello, > > First my apologies for not CCing you John, I'm not sure which address to > use as I got a bounce from the [email protected] address before. > > Rosen, > > I'm not too familiar with the mt7621 yet, I'm using an mt7620. All I > know is that it has two cores and some crypto engine instead of wifi. > Being that this is the drivers/gpio/gpio-ralink.c (a nice bland name) > I'm going assume we're just talking about two different drivers. The > compatible string for this one is "ralink,rt2880-gpio". Ah I see. I think what threw me off was the patch name being 0029 as 0028 is the mt7621 patch. > > On 11/04/2018 10:27 PM, Rosen Penev wrote: > > On Sun, Nov 4, 2018 at 6:49 PM Daniel Santos <[email protected]> > > wrote: > >> The gpio-ralink driver has everything it needs to be used as an > >> interrupt controller except for device tree support. This simple patch > >> adds that support by configuring the irq domain to use two cells and > >> adding the appropriate documentation to the devicetree bindings. > > Note that there is a mainline driver that does this already: > > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/gpio/gpio-mt7621.c?h=v4.19.1 > > > > I've backported it in my tree as well: > > https://github.com/neheb/source/commit/aa3a57cdcf91a4483cfd511f8a34fb9a595f4af2 > > > > I have not submitted as I don't have hardware to test that uses GPIO > > beyond a simple push button. > > > > I think ramips maintainer currently wants to wait until 4.19 to make > > such changes. > > Are you referring to the rampis Linux maintainer or OpenWRT? ramips is an OpenWrt specific platform. > > Thanks, > Daniel > > >> Signed-off-by: Daniel Santos <[email protected]> > >> --- > >> ...-Add-support-for-GPIO-as-interrupt-contro.patch | 51 > >> ++++++++++++++++++++++ > >> 1 file changed, 51 insertions(+) > >> create mode 100644 > >> target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch > >> > >> diff --git > >> a/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch > >> > >> b/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch > >> new file mode 100644 > >> index 0000000000..d93f39c746 > >> --- /dev/null > >> +++ > >> b/target/linux/ramips/patches-4.14/0029-gpio-ralink-Add-support-for-GPIO-as-interrupt-contro.patch > >> @@ -0,0 +1,51 @@ > >> +From 57fa7f2f4ef6f78ce1d30509c0d111aa3791b524 Mon Sep 17 00:00:00 2001 > >> +From: Daniel Santos <[email protected]> > >> +Date: Sun, 4 Nov 2018 20:24:32 -0600 > >> +Subject: gpio-ralink: Add support for GPIO as interrupt-controller > >> + > >> +Signed-off-by: Daniel Santos <[email protected]> > >> +--- > >> + Documentation/devicetree/bindings/gpio/gpio-ralink.txt | 6 ++++++ > >> + drivers/gpio/gpio-ralink.c | 2 +- > >> + 2 files changed, 7 insertions(+), 1 deletion(-) > >> + > >> +diff --git a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt > >> b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt > >> +index 5cd17f225fe3..2775449614d4 100644 > >> +--- a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt > >> ++++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt > >> +@@ -17,6 +17,9 @@ Required properties: > >> + > >> + Optional properties: > >> + - ralink,gpio-base : Specify the GPIO chips base number > >> ++- interrupt-controller : marks this as an interrupt controller > >> ++- #interrupt-cells : a standard two-cell interrupt flag, see > >> ++ interrupt-controller/interrupts.txt > >> + > >> + Example: > >> + > >> +@@ -28,6 +31,9 @@ Example: > >> + > >> + reg = <0x600 0x34>; > >> + > >> ++ interrupt-controller; > >> ++ #interrupt-cells = <2>; > >> ++ > >> + interrupt-parent = <&intc>; > >> + interrupts = <6>; > >> + > >> +diff --git a/drivers/gpio/gpio-ralink.c b/drivers/gpio/gpio-ralink.c > >> +index 27910e384013..b6e30083d012 100644 > >> +--- a/drivers/gpio/gpio-ralink.c > >> ++++ b/drivers/gpio/gpio-ralink.c > >> +@@ -220,7 +220,7 @@ static int gpio_map(struct irq_domain *d, unsigned > >> int irq, irq_hw_number_t hw) > >> + } > >> + > >> + static const struct irq_domain_ops irq_domain_ops = { > >> +- .xlate = irq_domain_xlate_onecell, > >> ++ .xlate = irq_domain_xlate_twocell, > >> + .map = gpio_map, > >> + }; > >> + > >> +-- > >> +2.16.4 > >> + > >> -- > >> 2.16.4 > >> > >> > >> _______________________________________________ > >> openwrt-devel mailing list > >> [email protected] > >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >
_______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
