[lkml]   [2006]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [patchset] Generic IRQ Subsystem: -V5
On Wed, Jun 07, 2006 at 08:57:30PM +0200, Thomas Gleixner wrote:
> On Wed, 2006-06-07 at 19:20 +0200, Thomas Gleixner wrote:
> > > Is there an updated series? This doesn't apply to -rc6 - it seems
> > > that maybe the ia64 folk merged some of the changes.
> >
> > We did the latest changes against -mm. I can respin it against
> > 2.6.16-rc6.

Okay, works on Versatile (which is a trivial platform) it doesn't work
on Neponset (a rather more complex setup). Neponset has a case where
there's an interrupt "concentrator" which consists of logically ORing
three interrupt sources, and providing a status register so you know
which occurred.

Hence, there is no "chip" for this, and while it works with the ARM
IRQ subsystem, it doesn't even boot with the genirq stuff.

This doesn't happen with the ARM IRQ subsystem because the "no chip"
handlers are all pointing at a dummy function instead of being NULL.
Could we do the same with genirq ?

SA1111 Microprocessor Companion Chip: silicon revision 1, metal revision 1
Trying to install chained interrupt type for IRQ51
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0204000
[00000000] *pgd=00000000
Internal error: Oops: 0 [#1]
Modules linked in:
CPU: 0
PC is at __init_begin+0x3fdf8000/0x30
LR is at __set_irq_handler+0xf4/0x110
pc : [<00000000>] lr : [<c0258e6c>] Not tainted
sp : c04dbdb4 ip : 60000093 fp : c04dbdd8
r10: c02577c4 r9 : 00000000 r8 : 00000001
r7 : 60000013 r6 : c0229234 r5 : 00000033 r4 : c040ecc0
r3 : c0416e38 r2 : 00000000 r1 : 00000629 r0 : 00000033
Flags: nzCv IRQs off FIQs on Mode SVC_32 Segment kernel
Control: C020717F Table: C020717F DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc04da198)
[<c0258d78>] (__set_irq_handler+0x0/0x110) from [<c0229778>] (sa1111_setup_irq+0x10c/0x128)
[<c022966c>] (sa1111_setup_irq+0x0/0x128) from [<c0229b6c>] (__sa1111_probe+0x10c/0x1b4)
[<c0229a60>] (__sa1111_probe+0x0/0x1b4) from [<c0229f78>] (sa1111_probe+0x54/0x60)
[<c0229f24>] (sa1111_probe+0x0/0x60) from [<c0330b80>] (platform_drv_probe+0x20/0x24)
[<c0330b60>] (platform_drv_probe+0x0/0x24) from [<c032ebac>] (driver_probe_device+0x8c/0xd8)
[<c032eb20>] (driver_probe_device+0x0/0xd8) from [<c032ec08>] (__device_attach+0x10/0x14)
[<c032ebf8>] (__device_attach+0x0/0x14) from [<c032e1a0>] (bus_for_each_drv+0x54/0x84)
[<c032e14c>] (bus_for_each_drv+0x0/0x84) from [<c032ec70>] (device_attach+0x64/0x98)
[<c032ec0c>] (device_attach+0x0/0x98) from [<c032e30c>] (bus_add_device+0x30/0x88)
[<c032e2dc>] (bus_add_device+0x0/0x88) from [<c032d0f0>] (device_add+0xc8/0x14c)
[<c032d028>] (device_add+0x0/0x14c) from [<c032d190>] (device_register+0x1c/0x20)
[<c032d174>] (device_register+0x0/0x20) from [<c03309dc>] (platform_device_add+0xf8/0x16c)
[<c03308e4>] (platform_device_add+0x0/0x16c) from [<c0330ad0>] (platform_device_register+0x20/0x24)
[<c0330ab0>] (platform_device_register+0x0/0x24) from [<c0330750>] (platform_add_devices+0x2c/0x68)
[<c0330724>] (platform_add_devices+0x0/0x68) from [<c02121bc>] (neponset_init+0x7c/0x98)
[<c0212140>] (neponset_init+0x0/0x98) from [<c0208ae4>] (do_initcalls+0x68/0x128)
[<c0208a7c>] (do_initcalls+0x0/0x128) from [<c0208bc4>] (do_basic_setup+0x20/0x24)
[<c0208ba4>] (do_basic_setup+0x0/0x24) from [<c021f0b0>] (init+0x44/0x144)
[<c021f06c>] (init+0x0/0x144) from [<c023babc>] (do_exit+0x0/0x3c4)

Russell King
Linux kernel 2.6 ARM Linux -
maintainer of: 2.6 Serial core
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-06-08 13:38    [W:0.047 / U:11.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site