From: Steve Sakoman Date: Thu, 8 May 2008 16:48:31 +0000 (-0700) Subject: net:smc911x Modify driver to also work with omap34xx X-Git-Tag: v2.6.26-omap1~123^2~120 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=8c1830383b767c94ced63b470fc7ef2f7ca99e9e;p=linux-2.6-omap-h63xx.git net:smc911x Modify driver to also work with omap34xx net:smc911x Modify driver to also work with omap34xx Signed-off-by: Steve Sakoman Signed-off-by: Tony Lindgren --- diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index af46341827f..70192b6278f 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -955,7 +955,7 @@ config SMC911X tristate "SMSC LAN911[5678] support" select CRC32 select MII - depends on ARCH_PXA || SH_MAGIC_PANEL_R2 + depends on ARCH_PXA || SH_MAGIC_PANEL_R2 || ARCH_OMAP34XX help This is a driver for SMSC's LAN911x series of Ethernet chipsets including the new LAN9115, LAN9116, LAN9117, and LAN9118. diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index 4e280020518..40ff2a54bdf 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -2137,7 +2137,7 @@ static int smc911x_drv_probe(struct platform_device *pdev) ret = -ENODEV; goto out; } - +#ifndef SMC_MEM_RESERVED /* * Request the regions. */ @@ -2145,7 +2145,7 @@ static int smc911x_drv_probe(struct platform_device *pdev) ret = -EBUSY; goto out; } - +#endif ndev = alloc_etherdev(sizeof(struct smc911x_local)); if (!ndev) { printk("%s: could not allocate device.\n", CARDNAME); @@ -2173,7 +2173,9 @@ static int smc911x_drv_probe(struct platform_device *pdev) release_both: free_netdev(ndev); release_1: +#ifndef SMC_MEM_RESERVED release_mem_region(res->start, SMC911X_IO_EXTENT); +#endif out: printk("%s: not found (%d).\n", CARDNAME, ret); } @@ -2212,8 +2214,9 @@ static int smc911x_drv_remove(struct platform_device *pdev) #endif iounmap((void *)ndev->base_addr); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); +#ifndef SMC_MEM_RESERVED release_mem_region(res->start, SMC911X_IO_EXTENT); - +#endif free_netdev(ndev); return 0; } diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h index 7defa63b9c7..dad93a8bfb0 100644 --- a/drivers/net/smc911x.h +++ b/drivers/net/smc911x.h @@ -42,6 +42,11 @@ #define SMC_USE_16BIT 0 #define SMC_USE_32BIT 1 #define SMC_IRQ_SENSE IRQF_TRIGGER_LOW +#elif defined(CONFIG_ARCH_OMAP34XX) + #define SMC_USE_16BIT 0 + #define SMC_USE_32BIT 1 + #define SMC_IRQ_SENSE IRQF_TRIGGER_LOW + #define SMC_MEM_RESERVED 1 #endif