arm NO_IRQ = -1 - zynq axi_ethernet driver

Michal Simek monstr at
Wed Jan 9 11:52:13 EST 2013

2013/1/3 Rob Herring <robherring2 at>:
> On 01/03/2013 07:47 AM, Michal Simek wrote:
>> Hi Grand, Russell, Arnd, Olof and Rob,
>> I am getting one problem with axi_ethernet driver because I want to remove
>> NO_IRQ from axi_ethernet driver because NO_IRQ was setup to 0 and
>> removed from microblaze long time ago.
>> Some patches from reference.
>> "microblaze: Change NO_IRQ to 0"
>> sha1: 6c7a2676f594ca9a30203b4fd5dc26b53682cffe
>> and
>> "microblaze: Remove NO_IRQ from architecture"
>> sha1: 18e3b1075b1bc4a6027a6612fe70a5c81c209ec7
>> but we can also use this driver on arm Zynq platform.
>> It is easy to add
>> #ifndef NO_IRQ
>> #define NO_IRQ 0
>> #endif
>> to the driver to cover Microblaze case but it will be just workaround.
>> From patches description NO_IRQ shouldn't be used by any driver
>> + from Grant description
>> "As has been discussed many times[1], Using NO_IRQ set to anything other
>> than 0 is bug waiting to happen since many drivers follow the pattern
>> "if (!irq)" for testing whether or not an irq has been set."
>> + link
>> [1]
>> Was there any attempt to remove NO_IRQ from ARM?
>> Any problem to do it?
> It's not removed, but we've trimmed it out of most things. It appears
> that drivers are mostly not using it other than powerpc drivers. It is
> not really necessary to remove it from the arch. Drivers should simply
> check for (irq <= 0) for error cases. I'm not sure if there are any
> platforms left using irq 0 as a valid irq.

Unfortunately microblaze system can use any IRQ number but MB NO_IRQ is 0
that's why it shouldn't hurt because on ARM axi ethernet can't be on IRQ 0.

Thanks for hint,

Michal Simek, Ing. (M.Eng)
w: p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu -
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian

More information about the linux-arm-kernel mailing list