Commit c714a164 authored by Jochen Friedrich's avatar Jochen Friedrich Committed by Jeff Garzik

Update several token ring drivers:

New low level tms380 driver for Proteon 1392 / 1392+ cards
(port from existing 2.2 kernel code)

Add spinlock to fix race condition in tms380tr.

Fix startup of tmsisa to not register and unregister devices multiple
times, so hotplug doesn't run wild.

Add support for statically compiling tmsisa into kernel.

Remove unnecessary console SPAM during boot.

Fixed probing of ISA devices in tmsisa.

Fixed unsafe reference counting.

Fixed __init function causing Oops with new module system.

Rename tmsisa to skisa.
parent 1db75d47
...@@ -551,6 +551,8 @@ static struct net_device eth0_dev = { ...@@ -551,6 +551,8 @@ static struct net_device eth0_dev = {
#ifdef CONFIG_TR #ifdef CONFIG_TR
/* Token-ring device probe */ /* Token-ring device probe */
extern int ibmtr_probe(struct net_device *); extern int ibmtr_probe(struct net_device *);
extern int sk_isa_probe(struct net_device *);
extern int proteon_probe(struct net_device *);
extern int smctr_probe(struct net_device *); extern int smctr_probe(struct net_device *);
static int static int
...@@ -560,6 +562,12 @@ trif_probe(struct net_device *dev) ...@@ -560,6 +562,12 @@ trif_probe(struct net_device *dev)
#ifdef CONFIG_IBMTR #ifdef CONFIG_IBMTR
&& ibmtr_probe(dev) && ibmtr_probe(dev)
#endif #endif
#ifdef CONFIG_SKISA
&& sk_isa_probe(dev)
#endif
#ifdef CONFIG_PROTEON
&& proteon_probe(dev)
#endif
#ifdef CONFIG_SMCTR #ifdef CONFIG_SMCTR
&& smctr_probe(dev) && smctr_probe(dev)
#endif #endif
......
...@@ -131,18 +131,33 @@ config TMSPCI ...@@ -131,18 +131,33 @@ config TMSPCI
The module will be called tmspci. If you want to compile it The module will be called tmspci. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>. as a module, say M here and read <file:Documentation/modules.txt>.
config TMSISA config SKISA
tristate "Generic TMS380 ISA support" tristate "SysKonnect TR4/16 ISA support"
depends on TR && TMS380TR!=n && ISA depends on TR && TMS380TR!=n && ISA
help help
This tms380 module supports generic TMS380-based ISA cards. This tms380 module supports SysKonnect TR4/16 ISA cards.
These cards are known to work: These cards are known to work:
- SysKonnect TR4/16 ISA (SK-4190) - SysKonnect TR4/16 ISA (SK-4190)
This driver is available as a module ( = code which can be This driver is available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want). inserted in and removed from the running kernel whenever you want).
The module will be called tmsisa. If you want to compile it The module will be called skisa. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
config PROTEON
tristate "Proteon ISA support"
depends on TR && TMS380TR!=n && ISA
help
This tms380 module supports Proteon ISA cards.
These cards are known to work:
- Proteon 1392
- Proteon 1392 plus
This driver is available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called proteon. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>. as a module, say M here and read <file:Documentation/modules.txt>.
config ABYSS config ABYSS
......
...@@ -8,7 +8,8 @@ obj-$(CONFIG_IBMLS) += lanstreamer.o ...@@ -8,7 +8,8 @@ obj-$(CONFIG_IBMLS) += lanstreamer.o
obj-$(CONFIG_TMS380TR) += tms380tr.o obj-$(CONFIG_TMS380TR) += tms380tr.o
obj-$(CONFIG_ABYSS) += abyss.o obj-$(CONFIG_ABYSS) += abyss.o
obj-$(CONFIG_MADGEMC) += madgemc.o obj-$(CONFIG_MADGEMC) += madgemc.o
obj-$(CONFIG_PROTEON) += proteon.o
obj-$(CONFIG_TMSPCI) += tmspci.o obj-$(CONFIG_TMSPCI) += tmspci.o
obj-$(CONFIG_TMSISA) += tmsisa.o obj-$(CONFIG_SKISA) += skisa.o
obj-$(CONFIG_SMCTR) += smctr.o obj-$(CONFIG_SMCTR) += smctr.o
obj-$(CONFIG_3C359) += 3c359.o obj-$(CONFIG_3C359) += 3c359.o
This diff is collapsed.
This diff is collapsed.
...@@ -1135,6 +1135,7 @@ typedef struct net_local { ...@@ -1135,6 +1135,7 @@ typedef struct net_local {
unsigned short (*sifreadw)(struct net_device *, unsigned short); unsigned short (*sifreadw)(struct net_device *, unsigned short);
void (*sifwritew)(struct net_device *, unsigned short, unsigned short); void (*sifwritew)(struct net_device *, unsigned short, unsigned short);
spinlock_t lock; /* SMP protection */
void *tmspriv; void *tmspriv;
} NET_LOCAL; } NET_LOCAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment