linux-mips
[Top] [All Lists]

Re: __do_IRQ() going away

To: Manuel Lauss <mano@roarinelk.homelinux.net>
Subject: Re: __do_IRQ() going away
From: Ralf Baechle <ralf@linux-mips.org>
Date: Thu, 12 Mar 2009 10:28:10 +0100
Cc: linux-mips@linux-mips.org, Thomas Gleixner <tglx@linutronix.de>
In-reply-to: <20090312072618.GA31978@roarinelk.homelinux.net>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20090311112806.GA24541@linux-mips.org> <20090312072618.GA31978@roarinelk.homelinux.net>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.18 (2008-05-17)
On Thu, Mar 12, 2009 at 08:26:18AM +0100, Manuel Lauss wrote:

> 
> On Wed, Mar 11, 2009 at 12:28:06PM +0100, Ralf Baechle wrote:
> > __do_IRQ() is deprecated since a long time and there are plans to remove
> > it for 2.6.30.  The MIPS platforms seem to fall into three classes:
> 
> >  o Platforms that still seem to rely on __do_IRQ():
> >      o All Alchemy platforms:
> >     db1000_defconfig, db1100_defconfig, db1200_defconfig, db1500_defconfig,
> >     db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
> >     and pb1550_defconfig
> 
> I believe that the defconfigs just need to be updated.  There are no
> __do_IRQ invocations in the alchemy/ tree anymore, and generic hardirqs are
> enabled by CONFIG_SOC_AU1X00.

__do_IRQ will be called from the generic code if irq_desc->handle_irq is
not set for an interrupt and handle_irq will be left NULL if a platform
only calls set_irq_chip or even does a homebrew initialization.  Fix is
to call set_irq_chip_and_handler or better set_irq_chip_and_handler_name.
Iow, now with CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ always set half the
platforms will blow up because the function pointer irq_desc->handle_irq
is unset.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>