From: Steve Sakoman <steve@xxxxxxxxxxx> net:smc911x Modify driver to also work with omap34xx Signed-off-by: Steve Sakoman <steve@xxxxxxxxxxx> --- drivers/net/Kconfig | 2 +- drivers/net/smc911x.c | 9 ++++++--- drivers/net/smc911x.h | 5 +++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index af46341..70192b6 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 4e28002..40ff2a5 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 7defa63..dad93a8 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 -- 1.5.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html