From: Deepak Saxena Date: Mon, 4 Dec 2006 23:04:46 +0000 (-0800) Subject: [PATCH] Update smc91x driver with ARM Versatile board info X-Git-Tag: v2.6.20-rc1~145^2^2~6^2~23 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33fee56ae846cdee67d2ab6d14c3baa879dfc794;p=linux-2.6 [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 () Signed-off-by: Deepak Saxena Cc: Jeff Garzik Cc: Russell King Cc: Nicolas Pitre On Fri, 20 Oct 2006 22:50:40 +0100 Russell King 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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index 9e0fbc5911..d28adf2546 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