Re: [patch 02/23] arm: tegra: Remove unused function which fiddles with irq_desc

Colin Cross
2011-03-26T22:37:34Z

On Sat, Mar 26, 2011 at 1:24 PM, Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
> On Sun, 27 Mar 2011, Varun Wadekar wrote:
>>
>> 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.

>> > -
>> > -   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.