mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 19:23:57 +08:00
net: mac8390: Allow modular build
The modular driver supports only one card, just like the built-in driver. Note that this limitation is a problem which affects all Nubus card drivers, because they have to do all their own bus matching, because Nubus still lacks the necessary driver model support. Suggested-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4905287138
commit
3a3a7f3b7f
@ -64,7 +64,7 @@ config ARM_ETHERH
|
||||
should say Y to this option if you wish to use it with Linux.
|
||||
|
||||
config MAC8390
|
||||
bool "Macintosh NS 8390 based ethernet cards"
|
||||
tristate "Macintosh NS 8390 based ethernet cards"
|
||||
depends on MAC
|
||||
select CRC32
|
||||
---help---
|
||||
|
@ -454,34 +454,22 @@ MODULE_AUTHOR("David Huggins-Daines <dhd@debian.org> and others");
|
||||
MODULE_DESCRIPTION("Macintosh NS8390-based Nubus Ethernet driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
/* overkill, of course */
|
||||
static struct net_device *dev_mac8390[15];
|
||||
int init_module(void)
|
||||
static struct net_device *dev_mac8390;
|
||||
|
||||
int __init init_module(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 15; i++) {
|
||||
struct net_device *dev = mac8390_probe(-1);
|
||||
if (IS_ERR(dev))
|
||||
break;
|
||||
dev_mac890[i] = dev;
|
||||
}
|
||||
if (!i) {
|
||||
pr_notice("No useable cards found, driver NOT installed.\n");
|
||||
return -ENODEV;
|
||||
dev_mac8390 = mac8390_probe(-1);
|
||||
if (IS_ERR(dev_mac8390)) {
|
||||
pr_warn("mac8390: No card found\n");
|
||||
return PTR_ERR(dev_mac8390);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void cleanup_module(void)
|
||||
void __exit cleanup_module(void)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 15; i++) {
|
||||
struct net_device *dev = dev_mac890[i];
|
||||
if (dev) {
|
||||
unregister_netdev(dev);
|
||||
free_netdev(dev);
|
||||
}
|
||||
}
|
||||
unregister_netdev(dev_mac8390);
|
||||
free_netdev(dev_mac8390);
|
||||
}
|
||||
|
||||
#endif /* MODULE */
|
||||
|
Loading…
Reference in New Issue
Block a user