- To: Ingo Molnar <mingo@xxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxxx>, Grant Likely <grant.likely@xxxxxxxxxxxx>
- Subject: [PATCH] ata: Fix build error in pata_of_platform (NO_IRQ usage)
- From: Anton Vorontsov <cbouatmailru@xxxxxxxxx>
- Date: Thu, 10 Nov 2011 19:18:52 +0400
- Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxx>, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>, linux-next@xxxxxxxxxxxxxxx, LKML <linux-kernel@xxxxxxxxxxxxxxx>, "linux-ide@xxxxxxxxxxxxxxx" <linux-ide@xxxxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, devicetree-discuss@xxxxxxxxxxxxxxxx
- In-reply-to: <20111110135703.GA23609@elte.hu>
- List-id: <linux-ide.vger.kernel.org>
- User-agent: Mutt/1.5.21 (2010-09-15)
This patch makes a band-aid fix the following build failure:
CC drivers/ata/pata_of_platform.o
drivers/ata/pata_of_platform.c: In function 'pata_of_platform_probe':
drivers/ata/pata_of_platform.c:55:13: error: 'NO_IRQ' undeclared (first use in this function)
drivers/ata/pata_of_platform.c:55:13: note: each undeclared identifier is reported only once for each function it appears in
The proper fix (stop OF code from returning NO_IRQ values) is pending.
Signed-off-by: Anton Vorontsov <cbouatmailru@xxxxxxxxx>
---
On Thu, Nov 10, 2011 at 02:57:03PM +0100, Ingo Molnar wrote:
[...]
> > > drivers/ata/pata_of_platform.c:55:13: error: 'NO_IRQ' undeclared (first use in this function)
> >
> > [adding Author: Anton]
> >
> > Build error still present in linux-next of 20111014.
>
> This build failure regression report was ignored twice and then
> pushed upstream and is still unfixed a month after the initial
> report. Upstream now fails to build on like 25% of x86 configs.
>
> What's going on with this bug guys?
Here is the story:
- NO_IRQ is evil[1], AFAIR the trend is to remove its usage completely;
- Sane arches (x86) don't use it at all, or have it defined to 0
(PPC32/64).
- On another arches it is either -1 or whatever random value;
- The NO_IRQ disease spreads despite our willingness, even within
the new OF code.
The new irq domain stuff (that is used on ARM) always returns 0
in 'no irq' case, so we may easily remove it.
So the proper fix would be two-fold: for OF and for that driver.
But this is for 3.3 kernels. I'll send the two patches as follow-ups.
In the meantime, the band-aid (for 3.2) is down below.
[1]
http://lkml.org/lkml/2005/11/22/159
http://lkml.org/lkml/2005/11/22/227
drivers/ata/pata_of_platform.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c
index a72ab0d..f99e17b 100644
--- a/drivers/ata/pata_of_platform.c
+++ b/drivers/ata/pata_of_platform.c
@@ -16,6 +16,11 @@
#include <linux/of_platform.h>
#include <linux/ata_platform.h>
+/* For archs that don't support NO_IRQ (such as x86), provide a dummy value */
+#ifndef NO_IRQ
+#define NO_IRQ 0
+#endif
+
static int __devinit pata_of_platform_probe(struct platform_device *ofdev)
{
int ret;
--
1.7.5.3
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Filesystems]
[Linux SCSI]
[Linux RAID]
[Git]
[Kernel Newbies]
[Linux Newbie]
[Share Photos]
[Security]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]