diff options
author | Deepak Saxena <dsaxena@plexity.net> | 2006-12-04 18:04:46 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-04 18:36:02 -0500 |
commit | 33fee56ae846cdee67d2ab6d14c3baa879dfc794 (patch) | |
tree | 96995a7c5971069168cbcd9bd18f5269dc72737d | |
parent | 2ad657c88d8b3c1f97c1b8cc474b6307ba7f8509 (diff) |
[PATCH] Update smc91x driver with ARM Versatile board info
We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new
generic IRQ layer will complain thusly:
No IRQF_TRIGGER set_type function for IRQ 25 (<NULL>)
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Nicolas Pitre <nico@cam.org>
On Fri, 20 Oct 2006 22:50:40 +0100
Russell King <rmk@arm.linux.org.uk> wrote:
> On Fri, Oct 20, 2006 at 02:42:04PM -0700, akpm@osdl.org wrote:
> > We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new
> > generic IRQ layer will complain thusly:
>
> I don't think I heard anything back from my previous suggestion that
> the IRQ flags are passed through the platform device IRQ resource.
>
> Doing so would avoid adding yet another platform specific block into
> the file.
>
> BTW, Integrator platforms will also suffer from this, which will add
> another ifdef to this header.
>
> Let's do it right and arrange to pass these flags from the platform
> code. It's not like they're in a critical path.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r-- | drivers/net/smc91x.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 9e0fbc59114f..d28adf2546c3 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h | |||
@@ -434,6 +434,24 @@ static inline void LPD7_SMC_outsw (unsigned char* a, int r, | |||
434 | 434 | ||
435 | #define SMC_IRQ_FLAGS (0) | 435 | #define SMC_IRQ_FLAGS (0) |
436 | 436 | ||
437 | #elif defined(CONFIG_ARCH_VERSATILE) | ||
438 | |||
439 | #define SMC_CAN_USE_8BIT 1 | ||
440 | #define SMC_CAN_USE_16BIT 1 | ||
441 | #define SMC_CAN_USE_32BIT 1 | ||
442 | #define SMC_NOWAIT 1 | ||
443 | |||
444 | #define SMC_inb(a, r) readb((a) + (r)) | ||
445 | #define SMC_inw(a, r) readw((a) + (r)) | ||
446 | #define SMC_inl(a, r) readl((a) + (r)) | ||
447 | #define SMC_outb(v, a, r) writeb(v, (a) + (r)) | ||
448 | #define SMC_outw(v, a, r) writew(v, (a) + (r)) | ||
449 | #define SMC_outl(v, a, r) writel(v, (a) + (r)) | ||
450 | #define SMC_insl(a, r, p, l) readsl((a) + (r), p, l) | ||
451 | #define SMC_outsl(a, r, p, l) writesl((a) + (r), p, l) | ||
452 | |||
453 | #define SMC_IRQ_FLAGS (0) | ||
454 | |||
437 | #else | 455 | #else |
438 | 456 | ||
439 | #define SMC_CAN_USE_8BIT 1 | 457 | #define SMC_CAN_USE_8BIT 1 |