From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [PATCH] ata: Don't use NO_IRQ in pata_of_platform driver Date: Mon, 05 Dec 2011 13:19:14 -0600 Message-ID: <1323112754.7213.49.camel@dabdike.int.hansenpartnership.com> References: <20111110162859.GA7088@oksana.dev.rtsoft.ru> <20111202192618.GC3037@localhost.localdomain> <1322867573.11728.22.camel@pasglop> <20111205161157.GA27550@localhost.localdomain> <20111205180253.GB29812@localhost.localdomain> <20111205184522.316598de@lxorguk.ukuu.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20111205184522.316598de@lxorguk.ukuu.org.uk> Sender: linux-kernel-owner@vger.kernel.org To: Alan Cox Cc: Nicolas Pitre , Dave Martin , Russell King - ARM Linux , Benjamin Herrenschmidt , Linus Torvalds , Anton Vorontsov , Stephen Rothwell , Andrew Morton , devicetree-discuss@lists.ozlabs.org, LKML , linux-ide@vger.kernel.org, Randy Dunlap , linux-next@vger.kernel.org, Ingo Molnar , Jeff Garzik , Pawel Moll , linux-arm-kernel@lists.infradead.org List-Id: linux-next.vger.kernel.org On Mon, 2011-12-05 at 18:45 +0000, Alan Cox wrote: > > But as you illustrated, there is a large number of drivers that already > > assume no IRQ is < 0, even if they don't use any IRQ #0 themselves. > > That is a much bigger problem to fix. > > And a much larger number assuming the reverse is true which are hiding > potential bugs on ARM. > > Looking at the serial stuff the best checks appear to be looking at > "irq", "-1" and NO_IRQ. > > For migration stuff that's doing broken things like > > if (irq < 0) > > can be changed to > > if (irq <= 0) > > and that can be done before NO_IRQ itself is nailed on ARM and PA-RISC. To be honest, we don't care very much. Parisc interrupts are cascading and mostly software assigned (except our EIEM which we keep internal). We use a base offset at 16 or 64 (depending on GSC presence or not) so IRQs 0-15 aren't legal on parisc either (we frob some of the hard coded ISA interrupts on the WAX eisa bus). We use NO_IRQ as an IRQ assignment error return and that's about it (and that error shouldn't ever really occur). James