On Wed, 23 Sep 2015, Wang Dongsheng wrote: > > -----Original Message----- > > From: linux-kernel-ow...@vger.kernel.org [mailto:linux-kernel- > > ow...@vger.kernel.org] On Behalf Of Thomas Gleixner > > Sent: Wednesday, September 23, 2015 11:49 AM > > To: Wang Dongsheng-B40534 > > Cc: Wood Scott-B07421; Sudeep Holla; linux...@vger.kernel.org; linux- > > ker...@vger.kernel.org; Rafael J. Wysocki; Benjamin Herrenschmidt; Paul > > Mackerras; Michael Ellerman; Jia Hongtao-B38951; Marc Zyngier; linuxppc- > > d...@lists.ozlabs.org > > Subject: RE: [PATCH 04/17] powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead > > of > > redundant mpic_irq_set_wake
Can you please fix you mail client to get rid of that silly copy of the mail header? > > On Wed, 23 Sep 2015, Wang Dongsheng wrote: > > > > On Mon, 2015-09-21 at 16:47 +0100, Sudeep Holla wrote: > > > > > mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets > > > > > IRQF_NO_SUSPEND > > > > > flag for FSL ones. enable_irq_wake already returns -ENXIO if > > > > > irq_set_wak > > > > > is not implemented. Also there's no need to set the IRQF_NO_SUSPEND > > > > > flag > > > > > as it doesn't guarantee wakeup for that interrupt. > > > > > > > > > > > Non-freescale return -ENXIO, is there any issue? If non-freescale > > > platform does not support it, but IPs still use > > > enable/disable_irq_wake, we should return a error number. > > > > You can just set IRQCHIP_SKIP_SET_WAKE for FSL chips and not for the > > others. > > > > > @Scott: > > > If set this flag we cannot keep a irq as a wakeup source when system > > > going to > > > SUSPEND or MEM. > > > > > > irq_set_wake() means we can set this irq as a wake source. > > > IRQCHIP_SKIP_SET_WAKE is ignore irq_set_wake() feature. > > > > Nonsense. IRQCHIP_SKIP_SET_WAKE merily tells the core not to bail on > > !chip->irq_set_wake(), but its still marking the interrupt as wakeup > > source and therefor not masking it on suspend. > > > > Sorry, I just check irq_set_irq_wake() code, right, IRQCHIP_SKIP_SET_WAKE > also can > going to irqd_set to mask IRQD_WAKEUP_STATE. > > Yes, this flag just skip the irq_set_wake() not this feature. And just for completeness. That commit 5ff04b7287d87c 'powerpc/mpic: add irq_set_wake support' is another example of trainwreck engineering. desc->action->flags |= IRQF_NO_SUSPEND; This is not only horribly avoiding any of the existing APIs, it's also broken as hell. desc->action can be NULL when that is called. It seems fleascale is hell bent to fiddle with the guts of the core code mindlessly. See commit c866cda47f2c Yours grumpy tglx _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev