On Thu, Mar 12, 2009 at 10:28 AM, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote: > 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. Alchemy does all that... > 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. ...and it works fine so far on the DB1200 and another 2 boards I have. (I.e. your patch didn't break anything). Unless I'm missing something very big. Manuel Lauss