diff options
author | Deepak Saxena <dsaxena@plexity.net> | 2006-12-04 15:04:46 -0800 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-04 18:36:02 -0500 |
commit | 33fee56ae846cdee67d2ab6d14c3baa879dfc794 (patch) | |
tree | 96995a7c5971069168cbcd9bd18f5269dc72737d /drivers/net/smc91x.h | |
parent | 2ad657c88d8b3c1f97c1b8cc474b6307ba7f8509 (diff) | |
download | blackbird-op-linux-33fee56ae846cdee67d2ab6d14c3baa879dfc794.tar.gz blackbird-op-linux-33fee56ae846cdee67d2ab6d14c3baa879dfc794.zip |
[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>
Diffstat (limited to 'drivers/net/smc91x.h')
-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, #define SMC_IRQ_FLAGS (0) +#elif defined(CONFIG_ARCH_VERSATILE) + +#define SMC_CAN_USE_8BIT 1 +#define SMC_CAN_USE_16BIT 1 +#define SMC_CAN_USE_32BIT 1 +#define SMC_NOWAIT 1 + +#define SMC_inb(a, r) readb((a) + (r)) +#define SMC_inw(a, r) readw((a) + (r)) +#define SMC_inl(a, r) readl((a) + (r)) +#define SMC_outb(v, a, r) writeb(v, (a) + (r)) +#define SMC_outw(v, a, r) writew(v, (a) + (r)) +#define SMC_outl(v, a, r) writel(v, (a) + (r)) +#define SMC_insl(a, r, p, l) readsl((a) + (r), p, l) +#define SMC_outsl(a, r, p, l) writesl((a) + (r), p, l) + +#define SMC_IRQ_FLAGS (0) + #else #define SMC_CAN_USE_8BIT 1 |