On Sun, 27 Mar 2011, David Daney wrote: > On 03/27/2011 09:22 AM, Thomas Gleixner wrote: > > Make use of the IRQCHIP_ONOFFLINE_ENABLED flag and remove the > > wrappers. Use irqd_irq_disabled() instead of desc->status, which will > > go away. > > > > I rewrote my patch set and was testing it. Interesting that I came up with a > function with almost the same name and purpose. > > However my function told us if the irq was masked *or* disabled. The idea > being a function that returns true if the irq could fire. We cannot be > enabling the interrupt in the controller if it is masked. > > For example I need to test this when adjusting affinity, and taking CPUs on > and off line. > > I don't think your genirq changes can tell the me information I really need in > their current state. I think we need to consider how the masked state > interacts with IRQCHIP_ONOFFLINE_ENABLED and irqd_irq_disabled(). > > Since I have totally rewritten my interrupt code, I am a bit ambivalent about > applying these patches. It might make more sense that I adjust my patch for > your genirq changes and test it before committing it. The modifications I made are 100% equivalent to the code you provided in the first place. The IRQCHIP_ONOFFLINE_ENABLED flag is only used for the on/offline callbacks. The disabled checked based on irq_data is in the affinity setting code. Unless I'm missing something we should be all set. Thanks, tglx