>-----Original Message----- >From: Thomas Gleixner [mailto:t...@linutronix.de] >Sent: Monday, September 21, 2015 7:52 PM >To: Manoil Claudiu-B08782 <claudiu.man...@freescale.com> >Cc: Sudeep Holla <sudeep.ho...@arm.com>; linux...@vger.kernel.org; linux- >ker...@vger.kernel.org; Rafael J. Wysocki <r...@rjwysocki.net>; David S. >Miller <da...@davemloft.net>; Kevin Hao <haoke...@gmail.com>; >net...@vger.kernel.org >Subject: RE: [PATCH 13/17] net: gianfar: remove misuse of >IRQF_NO_SUSPEND flag > >On Mon, 21 Sep 2015, Manoil Claudiu wrote: >> >The device is set as wakeup capable using proper wakeup API but the >> >driver misuses IRQF_NO_SUSPEND to set the interrupt as wakeup source >> >which is incorrect. >> > >> >This patch removes the use of IRQF_NO_SUSPEND flags replacing it with >> >enable_irq_wake instead. >> > >> >> What would be the purpose of IRQF_NO_SUSPEND flag then? The flag is a >> friendlier API compared to calling enable_irq_wake(). For older kernels, > >It's not an API, it's just a bandaid for lazy programmers. > >> on PPC architectures, the flag did the job. When did this change? Since >> when using IRQF_NO_SUSPEND is a "misuse"? > >It always was. Simply because IRQF_NO_SUSPEND has absolutely nothing >to do with wakeup interrupt sources. It's a flag which excludes the >interrupt from the suspend mechanism, but it does not flag it a wakeup >source. >
I'm seeing also a "powerpc: mpic" patch in the series, unfortunately I can't afford to test it right now. However I ran a quick test with this gianfar patch in isolation on a powerpc system, and seen some difference in the behavior (with and w/o the patch). In both cases the system wakes up from standby by magic packet. However, without the IRQF_NO_SUSPEND flag 2 wake-up interrupts are reported in /proc/interrupts for one magic packet; with the flag on there's just 1 interrupt. Maybe this is not relevant, maybe the "powerpc: mpic" patch from this series changes this behavior. But if this is the API, what can I say? We'll see in time. Btw, enable_irq_wake() returns an error code, normally it should be handled by printing a warning message at least, right? But since most drivers don't handle that, I'm assuming it should be left unhandled to avoid overcomplicating things. FWIW Acked-by: Claudiu Manoil <claudiu.man...@freescale.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/