Messages in this thread | | | Date | Wed, 16 Dec 2009 21:20:34 +0300 | From | Anton Vorontsov <> | Subject | Re: [PATCH 6/7] spi/mpc8xxx: don't check platform_get_irq's return value against zero |
| |
On Wed, Dec 16, 2009 at 06:49:04PM +0100, Uwe Kleine-König wrote: [...] > > Noooooo... :-( > > > > Please revert 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 instead, > > and fix platforms to remap HWIRQ0 to something that is not VIRQ0. > > > > IRQ0 is invalid for everything that is outside of arch/*. > > > > http://lkml.org/lkml/2005/11/22/159 > > http://lkml.org/lkml/2005/11/22/213 > > http://lkml.org/lkml/2005/11/22/227 > First note that my check is safe with both variants (e.g. it does the > right thing independent of the error being signaled by 0 or > -ESOMETHING.) > > Then arch/arm/mach-pxa/devices.c has: > > static struct resource pxa27x_resource_ssp3[] = { > ... > [1] = { > .start = IRQ_SSP3, > .end = IRQ_SSP3, > .flags = IORESOURCE_IRQ, > }, > ... > } > > with IRQ_SSP3 being zero (sometimes). The driver is implemented in > arch/arm/mach-pxa/ssp.c and uses platform_get_irq.
So fix this *one* driver? Implement arm-specific platform_get_irq() as a band-aid. Or better, implement virtual irqs <-> hardware irqs mapping for ARM.
[...] > I'm a bit annoyed as this is the third time[1] this month this irq0 > discussion pops up for me. I think people see that irq0 is involved > somehow, start wailing and stop seeing the issues being fixed.
For this particular driver, there is NO issue whatsoever. It is only used for PowerPC, which has VIRQ0 == invalid IRQ. And note that there still could be HWIRQ0 on PowerPC, but it is *never* mapped to VIRQ0.
[...] > [1] one is: > http://thread.gmane.org/gmane.linux.kernel/924739
No wonder the discussion popped up. You're adding some ugly #ifdef stuff that adds some arch-specific knowledge to a generic code.
Sure, there's a lot of ugly code even in the kernel/ directly, but you have to prepare for resistance when you add more of it.
So, if you want to fix the root cause of the issue: revert the 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0, and try to improve the ARM land, do not band-aid the whole kernel all over the place.
-- Anton Vorontsov email: cbouatmailru@gmail.com irc://irc.freenode.net/bd2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |