On Friday 11 October 2013, Linus Walleij wrote: > On Tue, Oct 1, 2013 at 3:55 PM, Daniel Mack <zonque@xxxxxxxxx> wrote: > > > This patch adds a very simple driver that enables GPIO lines as wakeup > > sources. It only operates on information passed in via DT, and depends > > on CONFIG_OF && CONFIG_PM_SLEEP. It can for example be used to connect > > wake-on-LAN (WOL) signals or other electric wakeup networks. > > > > The driver accepts a list of GPIO nodes and claims them along with their > > interrupt line. During suspend, the interrupts will be enabled and > > selected as wakeup source. The driver doesn't do anything else with the > > GPIO lines, and will ignore occured interrupts silently. > > > > Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> > > This makes a weird kind of sense. > Hm hm hm. > > But I really need the misc mainatiners' help here... > possibly also irqchip maintainers. This seems like a completely generic driver, rather than some oddball hack, so I'd prefer to not see it in drivers/misc at all. Maybe you can find some other maintainer who is willing to put it into his subsystem, candidates would be * gpio * irqchip * power * of/dt I don't see anything wrong with the basic approach though. > > +Example: > > + > > + wake_up { > > + compatible = "gpio-wakeup"; > > + gpios = <&gpio0 19 0>; > > + }; > > This will not work if that GPIO chip is not capable of supporting > interrupts on that GPIO line right? > > We have recently had a very long discussion about this: such > GPIO chips will also be marked "interrupt-controller" and you > should be able to just state interrupt-parent and > interrupts = <>; for this. (And it should accept an array.) > > It *may* be that we have many GPIO drivers that do not accept > that you request an interrupt on them before you have done > request_gpio() followed by gpio_to_irq() on the pin. Then this > shall be treated like a bug and the GPIO driver fixed to handle > this. (That was the outcome of this discussion.) I haven't followed that discussion, but it's good to hear that you made some progress there. I find it a bit worrying that you say the behavior may be dependent on the gpio driver, but maybe I didn't fully understand what the resolution is. > Since what the driver will then eventually provide is to > flag an IRQ line as wakeup, I wonder if this should not just > simply go into the interrupt core, or atleast of/irq.c. Right. Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html