After some digging this morning, I know why call to request_irq() failed. My
system configuration has the second GPIO using IRQ 12, which is what was
used in the Linux-2.4 version of the system. request_irq() fails the request
if the requested IRQ is > the maximum supported IRQ, defined in
include/asm-microblaze/irq.h has 11. So 12 is greater than 11 and fails. I
checked the code in the linux-2.4.x tree and the maximum irq value for a
microblaze system is 32. Hence why it worked in 2.4 and not in 2.6. The
question is should asm-microblaze/irq.h have NR_IRQ's changed to 32?