[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-m68k
Subject: [PATCH 7/11] Atari: new EtherNAT driver (smc91x.c)
From: Michael Schmitz <schmitz () zirkon ! biophys ! uni-duesseldorf ! de>
Date: 2012-05-24 0:51:03
Message-ID: E1SXMGd-0002Xs-JU () zirkon ! biophys ! uni-duesseldorf ! de
[Download RAW message or body]
From cb27724dc688df289e4a2b0dc3de92f6660ef941 Mon Sep 17 00:00:00 2001
From: Michael Schmitz <schmitz@debian.org>
Date: Wed, 23 May 2012 20:23:30 +1200
Subject: [PATCH 07/11] [m68k] Atari: EtherNAT ethernet support - new driver (smc91x)
---
arch/m68k/atari/config.c | 2 +-
drivers/net/ethernet/smsc/Kconfig | 15 +++++++++++++++
drivers/net/ethernet/smsc/Makefile | 1 +
drivers/net/ethernet/smsc/smc91x.h | 2 ++
4 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c
index 87c640b..adfc901 100644
--- a/arch/m68k/atari/config.c
+++ b/arch/m68k/atari/config.c
@@ -735,7 +735,7 @@ int __init atari_platform_init(void)
if (!MACH_IS_ATARI)
return -ENODEV;
-#if IS_ENABLED(CONFIG_ATARI_ETHERNAT_OLD)
+#if IS_ENABLED(CONFIG_ATARI_ETHERNAT) || IS_ENABLED(CONFIG_ATARI_ETHERNAT_OLD)
enatc_virt = (unsigned char *)ioremap((ATARI_ETHERNAT_PHYS_ADDR+0x23), 0xf);
if (hwreg_present(enatc_virt)) {
*enatc_virt |= 0x2; /* enable SMC91C111 interrupt */
diff --git a/drivers/net/ethernet/smsc/Kconfig b/drivers/net/ethernet/smsc/Kconfig
index c273eac..debd588 100644
--- a/drivers/net/ethernet/smsc/Kconfig
+++ b/drivers/net/ethernet/smsc/Kconfig
@@ -19,6 +19,21 @@ config NET_VENDOR_SMSC
if NET_VENDOR_SMSC
+config ATARI_ETHERNAT
+ tristate "Atari EtherNAT Ethernet support"
+ select CRC32
+ select NET_CORE
+ select MII
+ depends on ATARI
+ ---help---
+ Say Y to include support for the EtherNAT network adapter for the
+ CT/60 extension port. The driver works by polling instead of
+ interrupts, so it is quite slow.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called smc91x.
+
config ATARI_ETHERNAT_OLD
tristate "Atari EtherNAT Ethernet support - obsolete driver"
select CRC32
diff --git a/drivers/net/ethernet/smsc/Makefile b/drivers/net/ethernet/smsc/Makefile
index a1992fa..ac30abb 100644
--- a/drivers/net/ethernet/smsc/Makefile
+++ b/drivers/net/ethernet/smsc/Makefile
@@ -2,6 +2,7 @@
# Makefile for the SMSC network device drivers.
#
+obj-$(CONFIG_ATARI_ETHERNAT) += smc91x.o
obj-$(CONFIG_ATARI_ETHERNAT_OLD) += atari_91C111.o
obj-$(CONFIG_SMC9194) += smc9194.o
obj-$(CONFIG_SMC91X) += smc91x.o
diff --git a/drivers/net/ethernet/smsc/smc91x.h b/drivers/net/ethernet/smsc/smc91x.h
index 7a536ff..6100b4f 100644
--- a/drivers/net/ethernet/smsc/smc91x.h
+++ b/drivers/net/ethernet/smsc/smc91x.h
@@ -255,6 +255,8 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
#define RPC_LSA_DEFAULT RPC_LED_100_10
#define RPC_LSB_DEFAULT RPC_LED_TX_RX
+#define SMC_IRQ_FLAGS (IRQF_SHARED)
+
#elif defined(CONFIG_ARCH_MSM)
#define SMC_CAN_USE_8BIT 0
--
1.7.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic