Messages in this thread | | | From | Shenwei Wang <> | Subject | RE: [PATCH v9 1/1] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources | Date | Tue, 25 Aug 2015 14:54:41 +0000 |
| |
> -----Original Message----- > From: Sudeep Holla [mailto:sudeep.holla@arm.com] > Sent: 2015年8月25日 9:46 > To: Wang Shenwei-B38339 > Cc: Sudeep Holla; shawn.guo@linaro.org; tglx@linutronix.de; > jason@lakedaemon.net; Huang Yongcai-B20788; linux-kernel@vger.kernel.org; > linux-arm-kernel@lists.infradead.org > Subject: Re: [PATCH v9 1/1] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup > sources > > > > On 25/08/15 15:14, Shenwei Wang wrote: > > > > > >> -----Original Message----- > >> From: Sudeep Holla [mailto:sudeep.holla@arm.com] > > [...] > > >> I don't see this driver doing anything extra apart from keeping the > >> wakeup irqs enabled. i.e. You use the same cpu*wake register to > >> mask/unmask the interrupt as well as set the wakeup source. Since the > >> wakeup interrupt will be enabled by the driver, you just need to mark > >> it as wake-up source and nothing extra in the controller right ? > >> If so, you need to set IRQCHIP_SKIP_SET_WAKE as you are just leaving > >> that irq enabled and not doing any extra configuration to enable it as wakeup > source. > >> Please correct if that wrong, but from the code that's what I could infer. > > > > There is no special for this driver. We just use the IRQCHIP driver > > framework to manage the wakeup sources. Why did you propose to set > > IRQCHIP_SKIP_SET_WAKE flag here? If you don't need the wakeup feature, > > you should just not enable this driver in the configuration. > > > > No, if the driver doesn't nothing extra to configure the wake up source other than > keeping it enabled, then it fits the case of SKIP_SET_WAKE. > The driver using this wake would have requested and enabled the irq. > When it calls enable_irq_wake, you have nothing extra to set(atleast from the > looks of the driver), so setting SKIP_SET_WAKE will skip the call and updated the > wake flags in irq core. > > I don't see the real need of 2 separate sets of irq mask being saved in either case.
You don't really understand what happens after a driver calls enable_irq_wake. In suspend state, even the interrupt controller itself is powered off. How can you get the system up again by just using a SKIP_SET_WAKE.
Regards, Shenwei
> Regards, > Sudeep
| |