Re: [patch 02/23] arm: tegra: Remove unused function which fiddles with irq_desc
From: Colin Cross <hidden>
Date: 2011-03-26 22:37:41
Also in:
linux-arm-kernel, lkml
On Sat, Mar 26, 2011 at 1:24 PM, Thomas Gleixner [off-list ref] wrote:
On Sun, 27 Mar 2011, Varun Wadekar wrote:quoted
Thomas, then how do you think we should handle restoring of gpio states across suspend-resume cycles?That code is unused. Period. No caller, nothing nada. So what does it handle?
Tegra suspend support didn't make it into 2.6.39, but should get merged in 2.6.40, and will call tegra_gpio_suspend/resume.
quoted
quoted
- - for (i = INT_GPIO_BASE; i < (INT_GPIO_BASE + TEGRA_NR_GPIOS); i++) { - struct irq_desc *desc = irq_to_desc(i); - if (!desc || (desc->status & IRQ_WAKEUP)) - continue; - enable_irq(i); - }And this part is totally unacceptable and should have never been merged. Further it is in the way of cleanups to the core code and as there is no user I'm not willing to even think about what it does and why it is there. FYI, the core code deals with interrupt suspending/resuming already. So if there is a problem with that which does not cover your specific problem, then you better talk to me before hacking up such private workarounds and expecting that I tolerate them in unused code.
Yes, the existing code wrong, and unnecessary. It was copied from mach-tegra/irq.c, which I later fixed, but I missed this one. I'll take this patch for 2.6.39-rc1, which will prevent merge conflicts between your tree and the tegra tree in 2.6.40.