Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
b60bdba3
Commit
b60bdba3
authored
Jan 10, 2004
by
Alexander Viro
Committed by
Stephen Hemminger
Jan 10, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[netdrvr] convert most 8390 drivers to using alloc_ei_netdev()
parent
31dca45c
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
45 additions
and
294 deletions
+45
-294
drivers/net/3c503.c
drivers/net/3c503.c
+2
-12
drivers/net/ac3200.c
drivers/net/ac3200.c
+5
-19
drivers/net/apne.c
drivers/net/apne.c
+1
-9
drivers/net/arm/etherh.c
drivers/net/arm/etherh.c
+1
-13
drivers/net/e2100.c
drivers/net/e2100.c
+2
-16
drivers/net/es3210.c
drivers/net/es3210.c
+2
-13
drivers/net/hp-plus.c
drivers/net/hp-plus.c
+2
-13
drivers/net/hp.c
drivers/net/hp.c
+4
-18
drivers/net/hydra.c
drivers/net/hydra.c
+1
-11
drivers/net/lne390.c
drivers/net/lne390.c
+2
-15
drivers/net/mac8390.c
drivers/net/mac8390.c
+2
-15
drivers/net/ne.c
drivers/net/ne.c
+3
-19
drivers/net/ne2.c
drivers/net/ne2.c
+2
-14
drivers/net/ne2k_cbus.c
drivers/net/ne2k_cbus.c
+2
-13
drivers/net/ne3210.c
drivers/net/ne3210.c
+0
-6
drivers/net/oaknet.c
drivers/net/oaknet.c
+6
-26
drivers/net/smc-ultra.c
drivers/net/smc-ultra.c
+2
-13
drivers/net/smc-ultra32.c
drivers/net/smc-ultra32.c
+1
-9
drivers/net/stnic.c
drivers/net/stnic.c
+1
-13
drivers/net/wd.c
drivers/net/wd.c
+2
-14
drivers/net/zorro8390.c
drivers/net/zorro8390.c
+2
-13
No files found.
drivers/net/3c503.c
View file @
b60bdba3
...
...
@@ -145,12 +145,11 @@ static void cleanup_card(struct net_device *dev)
{
/* NB: el2_close() handles free_irq */
release_region
(
dev
->
base_addr
,
EL2_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
el2_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -159,8 +158,6 @@ struct net_device * __init el2_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_el2_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -228,12 +225,6 @@ el2_probe1(struct net_device *dev, int ioaddr)
printk
(
version
);
dev
->
base_addr
=
ioaddr
;
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
"3c503: unable to allocate memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out1
;
}
printk
(
"%s: 3c503 at i/o base %#3x, node "
,
dev
->
name
,
ioaddr
);
...
...
@@ -699,10 +690,9 @@ init_module(void)
if
(
this_dev
!=
0
)
break
;
/* only autoprobe 1st one */
printk
(
KERN_NOTICE
"3c503.c: Presently autoprobing (not recommended) for a single card.
\n
"
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
dev
->
mem_end
=
xcvr
[
this_dev
];
/* low 4bits = xcvr sel. */
...
...
drivers/net/ac3200.c
View file @
b60bdba3
...
...
@@ -128,12 +128,11 @@ static void cleanup_card(struct net_device *dev)
release_region
(
dev
->
base_addr
,
AC_IO_EXTENT
);
if
(
ei_status
.
reg0
)
iounmap
((
void
*
)
dev
->
mem_start
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
ac3200_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -142,8 +141,6 @@ struct net_device * __init ac3200_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_ac3200_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -197,13 +194,6 @@ static int __init ac_probe1(int ioaddr, struct net_device *dev)
}
#endif
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
", unable to allocate memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
/* Assign and allocate the interrupt now. */
if
(
dev
->
irq
==
0
)
{
dev
->
irq
=
config2irq
(
inb
(
ioaddr
+
AC_CONFIG
));
...
...
@@ -251,7 +241,7 @@ static int __init ac_probe1(int ioaddr, struct net_device *dev)
printk
(
KERN_CRIT
"ac3200.c: or to an address above 0x%lx.
\n
"
,
virt_to_phys
(
high_memory
));
printk
(
KERN_CRIT
"ac3200.c: Driver NOT installed.
\n
"
);
retval
=
-
EINVAL
;
goto
out
2
;
goto
out
1
;
}
dev
->
mem_start
=
(
unsigned
long
)
ioremap
(
dev
->
mem_start
,
AC_STOP_PG
*
0x100
);
if
(
dev
->
mem_start
==
0
)
{
...
...
@@ -259,7 +249,7 @@ static int __init ac_probe1(int ioaddr, struct net_device *dev)
printk
(
KERN_ERR
"ac3200.c: Try using EISA SCU to set memory below 1MB.
\n
"
);
printk
(
KERN_ERR
"ac3200.c: Driver NOT installed.
\n
"
);
retval
=
-
EINVAL
;
goto
out
2
;
goto
out
1
;
}
ei_status
.
reg0
=
1
;
/* Use as remap flag */
printk
(
"ac3200.c: remapped %dkB card memory to virtual address %#lx
\n
"
,
...
...
@@ -288,11 +278,8 @@ static int __init ac_probe1(int ioaddr, struct net_device *dev)
dev
->
stop
=
&
ac_close_card
;
NS8390_init
(
dev
,
0
);
return
0
;
out2:
free_irq
(
dev
->
irq
,
dev
);
out1:
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
free_irq
(
dev
->
irq
,
dev
);
out:
release_region
(
ioaddr
,
AC_IO_EXTENT
);
return
retval
;
...
...
@@ -401,10 +388,9 @@ init_module(void)
for
(
this_dev
=
0
;
this_dev
<
MAX_AC32_CARDS
;
this_dev
++
)
{
if
(
io
[
this_dev
]
==
0
&&
this_dev
!=
0
)
break
;
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
dev
->
mem_start
=
mem
[
this_dev
];
/* Currently ignored by driver */
...
...
drivers/net/apne.c
View file @
b60bdba3
...
...
@@ -138,10 +138,9 @@ struct net_device * __init apne_probe(int unit)
return
ERR_PTR
(
-
ENODEV
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
return
ERR_PTR
(
-
ENOMEM
);
dev
->
priv
=
NULL
;
if
(
unit
>=
0
)
{
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
...
...
@@ -314,13 +313,6 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr)
i
=
request_irq
(
IRQ_AMIGA_PORTS
,
apne_interrupt
,
SA_SHIRQ
,
dev
->
name
,
dev
);
if
(
i
)
return
i
;
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
free_irq
(
IRQ_AMIGA_PORTS
,
dev
);
return
-
ENOMEM
;
}
for
(
i
=
0
;
i
<
ETHER_ADDR_LEN
;
i
++
)
{
printk
(
" %2.2x"
,
SA_prom
[
i
]);
dev
->
dev_addr
[
i
]
=
SA_prom
[
i
];
...
...
drivers/net/arm/etherh.c
View file @
b60bdba3
...
...
@@ -551,15 +551,12 @@ etherh_probe(struct expansion_card *ec, const struct ecard_id *id)
etherh_banner
();
dev
=
alloc_e
therdev
(
sizeof
(
struct
etherh_priv
)
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
{
ret
=
-
ENOMEM
;
goto
out
;
}
/*
* alloc_etherdev allocs and zeros dev->priv
*/
eh
=
dev
->
priv
;
spin_lock_init
(
&
eh
->
eidev
.
page_lock
);
...
...
@@ -622,21 +619,12 @@ etherh_probe(struct expansion_card *ec, const struct ecard_id *id)
goto
free
;
}
if
(
ethdev_init
(
dev
))
{
ret
=
-
ENODEV
;
goto
release
;
}
/*
* If we're in the NIC slot, make sure the IRQ is enabled
*/
if
(
dev
->
irq
==
11
)
etherh_set_ctrl
(
eh
,
ETHERH_CP_IE
);
/*
* Unfortunately, ethdev_init eventually calls
* ether_setup, which re-writes dev->flags.
*/
switch
(
ec
->
cid
.
product
)
{
case
PROD_ANT_ETHERM
:
dev_type
=
"ANT EtherM"
;
...
...
drivers/net/e2100.c
View file @
b60bdba3
...
...
@@ -140,15 +140,13 @@ static int __init do_e2100_probe(struct net_device *dev)
static
void
cleanup_card
(
struct
net_device
*
dev
)
{
void
*
priv
=
dev
->
priv
;
/* NB: e21_close() handles free_irq */
release_region
(
dev
->
base_addr
,
E21_IO_EXTENT
);
kfree
(
priv
);
}
struct
net_device
*
__init
e2100_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -157,8 +155,6 @@ struct net_device * __init e2100_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_e2100_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -212,13 +208,6 @@ static int __init e21_probe1(struct net_device *dev, int ioaddr)
for
(
i
=
0
;
i
<
6
;
i
++
)
printk
(
" %02X"
,
station_addr
[
i
]);
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
if
(
dev
->
irq
<
2
)
{
int
irqlist
[]
=
{
15
,
11
,
10
,
12
,
5
,
9
,
3
,
4
},
i
;
for
(
i
=
0
;
i
<
8
;
i
++
)
...
...
@@ -228,8 +217,6 @@ static int __init e21_probe1(struct net_device *dev, int ioaddr)
}
if
(
i
>=
8
)
{
printk
(
" unable to get IRQ %d.
\n
"
,
dev
->
irq
);
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
retval
=
-
EAGAIN
;
goto
out
;
}
...
...
@@ -443,10 +430,9 @@ init_module(void)
if
(
this_dev
!=
0
)
break
;
/* only autoprobe 1st one */
printk
(
KERN_NOTICE
"e2100.c: Presently autoprobing (not recommended) for a single card.
\n
"
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
dev
->
mem_start
=
mem
[
this_dev
];
...
...
drivers/net/es3210.c
View file @
b60bdba3
...
...
@@ -159,12 +159,11 @@ static void cleanup_card(struct net_device *dev)
{
free_irq
(
dev
->
irq
,
dev
);
release_region
(
dev
->
base_addr
,
ES_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
es_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -173,8 +172,6 @@ struct net_device * __init es_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_es_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -278,13 +275,6 @@ static int __init es_probe1(struct net_device *dev, int ioaddr)
printk
(
"mem %#lx-%#lx
\n
"
,
dev
->
mem_start
,
dev
->
mem_end
-
1
);
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to allocate memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out1
;
}
#if ES_DEBUG & ES_D_PROBE
if
(
inb
(
ioaddr
+
ES_CFG5
))
printk
(
"es3210: Warning - DMA channel enabled, but not used here.
\n
"
);
...
...
@@ -437,10 +427,9 @@ init_module(void)
for
(
this_dev
=
0
;
this_dev
<
MAX_ES_CARDS
;
this_dev
++
)
{
if
(
io
[
this_dev
]
==
0
&&
this_dev
!=
0
)
break
;
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
dev
->
mem_start
=
mem
[
this_dev
];
...
...
drivers/net/hp-plus.c
View file @
b60bdba3
...
...
@@ -140,12 +140,11 @@ static void cleanup_card(struct net_device *dev)
{
/* NB: hpp_close() handles free_irq */
release_region
(
dev
->
base_addr
-
NIC_OFFSET
,
HP_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
hp_plus_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -154,8 +153,6 @@ struct net_device * __init hp_plus_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_hpp_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -215,13 +212,6 @@ static int __init hpp_probe1(struct net_device *dev, int ioaddr)
printk
(
" ID %4.4x"
,
inw
(
ioaddr
+
12
));
}
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
"hp-plus.c: unable to allocate memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
/* Read the IRQ line. */
outw
(
HW_Page
,
ioaddr
+
HP_PAGING
);
{
...
...
@@ -460,10 +450,9 @@ init_module(void)
if
(
this_dev
!=
0
)
break
;
/* only autoprobe 1st one */
printk
(
KERN_NOTICE
"hp-plus.c: Presently autoprobing (not recommended) for a single card.
\n
"
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
if
(
do_hpp_probe
(
dev
)
==
0
)
{
...
...
drivers/net/hp.c
View file @
b60bdba3
...
...
@@ -104,12 +104,11 @@ static void cleanup_card(struct net_device *dev)
{
free_irq
(
dev
->
irq
,
dev
);
release_region
(
dev
->
base_addr
-
NIC_OFFSET
,
HP_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
hp_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -118,8 +117,6 @@ struct net_device * __init hp_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_hp_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -167,13 +164,6 @@ static int __init hp_probe1(struct net_device *dev, int ioaddr)
if
(
ei_debug
&&
version_printed
++
==
0
)
printk
(
version
);
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
printk
(
"%s: %s (ID %02x) at %#3x,"
,
dev
->
name
,
name
,
board_id
,
ioaddr
);
for
(
i
=
0
;
i
<
ETHER_ADDR_LEN
;
i
++
)
...
...
@@ -202,14 +192,14 @@ static int __init hp_probe1(struct net_device *dev, int ioaddr)
if
(
*
irqp
==
0
)
{
printk
(
" no free IRQ lines.
\n
"
);
retval
=
-
EBUSY
;
goto
out
1
;
goto
out
;
}
}
else
{
if
(
dev
->
irq
==
2
)
dev
->
irq
=
9
;
if
((
retval
=
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
dev
->
name
,
dev
)))
{
printk
(
" unable to get IRQ %d.
\n
"
,
dev
->
irq
);
goto
out
1
;
goto
out
;
}
}
...
...
@@ -231,9 +221,6 @@ static int __init hp_probe1(struct net_device *dev, int ioaddr)
hp_init_card
(
dev
);
return
0
;
out1:
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
out:
release_region
(
ioaddr
,
HP_IO_EXTENT
);
return
retval
;
...
...
@@ -432,10 +419,9 @@ init_module(void)
if
(
this_dev
!=
0
)
break
;
/* only autoprobe 1st one */
printk
(
KERN_NOTICE
"hp.c: Presently autoprobing (not recommended) for a single card.
\n
"
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
if
(
do_hp_probe
(
dev
)
==
0
)
{
...
...
drivers/net/hydra.c
View file @
b60bdba3
...
...
@@ -96,10 +96,9 @@ static int __init hydra_init(unsigned long board)
0x10
,
0x12
,
0x14
,
0x16
,
0x18
,
0x1a
,
0x1c
,
0x1e
,
};
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
return
-
ENOMEM
;
dev
->
priv
=
NULL
;
SET_MODULE_OWNER
(
dev
);
for
(
j
=
0
;
j
<
ETHER_ADDR_LEN
;
j
++
)
...
...
@@ -120,14 +119,6 @@ static int __init hydra_init(unsigned long board)
return
-
EAGAIN
;
}
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
"Unable to get memory for dev->priv.
\n
"
);
free_irq
(
IRQ_AMIGA_PORTS
,
dev
);
free_netdev
(
dev
);
return
-
ENOMEM
;
}
printk
(
"%s: hydra at 0x%08lx, address %02x:%02x:%02x:%02x:%02x:%02x (hydra.c "
HYDRA_VERSION
")
\n
"
,
dev
->
name
,
ZTWO_PADDR
(
board
),
dev
->
dev_addr
[
0
],
dev
->
dev_addr
[
1
],
dev
->
dev_addr
[
2
],
dev
->
dev_addr
[
3
],
dev
->
dev_addr
[
4
],
dev
->
dev_addr
[
5
]);
...
...
@@ -157,7 +148,6 @@ static int __init hydra_init(unsigned long board)
return
0
;
free_irq
(
IRQ_AMIGA_PORTS
,
dev
);
kfree
(
dev
->
priv
);
free_netdev
(
dev
);
return
err
;
}
...
...
drivers/net/lne390.c
View file @
b60bdba3
...
...
@@ -149,12 +149,11 @@ static void cleanup_card(struct net_device *dev)
release_region
(
dev
->
base_addr
,
LNE390_IO_EXTENT
);
if
(
ei_status
.
reg0
)
iounmap
((
void
*
)
dev
->
mem_start
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
lne390_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -163,8 +162,6 @@ struct net_device * __init lne390_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_lne390_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -213,11 +210,6 @@ static int __init lne390_probe1(struct net_device *dev, int ioaddr)
return -ENODEV;
}
#endif
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
"lne390.c: unable to allocate memory for dev->priv!
\n
"
);
return
-
ENOMEM
;
}
printk
(
"lne390.c: LNE390%X in EISA slot %d, address"
,
0xa
+
revision
,
ioaddr
/
0x1000
);
for
(
i
=
0
;
i
<
ETHER_ADDR_LEN
;
i
++
)
...
...
@@ -238,8 +230,6 @@ static int __init lne390_probe1(struct net_device *dev, int ioaddr)
if
((
ret
=
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
dev
->
name
,
dev
)))
{
printk
(
" unable to get IRQ %d.
\n
"
,
dev
->
irq
);
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
return
ret
;
}
...
...
@@ -313,8 +303,6 @@ static int __init lne390_probe1(struct net_device *dev, int ioaddr)
return
0
;
cleanup:
free_irq
(
dev
->
irq
,
dev
);
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
return
ret
;
}
...
...
@@ -434,10 +422,9 @@ int init_module(void)
for
(
this_dev
=
0
;
this_dev
<
MAX_LNE_CARDS
;
this_dev
++
)
{
if
(
io
[
this_dev
]
==
0
&&
this_dev
!=
0
)
break
;
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
dev
->
mem_start
=
mem
[
this_dev
];
...
...
drivers/net/mac8390.c
View file @
b60bdba3
...
...
@@ -242,10 +242,9 @@ struct net_device * __init mac8390_probe(int unit)
if
(
!
MACH_IS_MAC
)
return
ERR_PTR
(
-
ENODEV
);
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
return
ERR_PTR
(
-
ENOMEM
);
dev
->
priv
=
NULL
;
if
(
unit
>=
0
)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
...
...
@@ -371,12 +370,9 @@ struct net_device * __init mac8390_probe(int unit)
goto
out
;
err
=
register_netdev
(
dev
);
if
(
err
)
goto
out
1
;
goto
out
;
return
dev
;
out1:
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
out:
free_netdev
(
dev
);
return
ERR_PTR
(
err
);
...
...
@@ -412,7 +408,6 @@ void cleanup_module(void)
struct
net_device
*
dev
=
dev_mac890
[
i
];
if
(
dev
)
{
unregister_netdev
(
dev
);
kfree
(
dev
->
priv
);
free_netdev
(
dev
);
}
}
...
...
@@ -444,12 +439,6 @@ static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * nd
int
access_bitmode
;
/* 8390 specific init for dev - allocates dev->priv */
if
(
ethdev_init
(
dev
))
{
printk
(
KERN_ERR
"%s: Unable to allocate memory for dev->priv!
\n
"
,
dev
->
name
);
return
-
ENOMEM
;
}
/* Now fill in our stuff */
dev
->
open
=
&
mac8390_open
;
dev
->
stop
=
&
mac8390_close
;
...
...
@@ -520,8 +509,6 @@ static int __init mac8390_initdev(struct net_device * dev, struct nubus_dev * nd
break
;
default:
printk
(
KERN_ERR
"Card type %s is unsupported, sorry
\n
"
,
cardname
[
type
]);
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
return
-
ENODEV
;
}
...
...
drivers/net/ne.c
View file @
b60bdba3
...
...
@@ -194,18 +194,16 @@ static int __init do_ne_probe(struct net_device *dev)
static
void
cleanup_card
(
struct
net_device
*
dev
)
{
void
*
priv
=
dev
->
priv
;
struct
pnp_dev
*
idev
=
(
struct
pnp_dev
*
)
ei_status
.
priv
;
if
(
idev
)
pnp_device_detach
(
idev
);
free_irq
(
dev
->
irq
,
dev
);
release_region
(
dev
->
base_addr
,
NE_IO_EXTENT
);
kfree
(
priv
);
}
struct
net_device
*
__init
ne_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -214,8 +212,6 @@ struct net_device * __init ne_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_ne_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -464,20 +460,12 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr)
goto
err_out
;
}
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
ret
=
-
ENOMEM
;
goto
err_out
;
}
/* Snarf the interrupt now. There's no point in waiting since we cannot
share and the board will usually be enabled. */
ret
=
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
name
,
dev
);
if
(
ret
)
{
printk
(
" unable to get IRQ %d (errno=%d).
\n
"
,
dev
->
irq
,
ret
);
goto
err_out
_kfree
;
goto
err_out
;
}
dev
->
base_addr
=
ioaddr
;
...
...
@@ -511,9 +499,6 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr)
NS8390_init
(
dev
,
0
);
return
0
;
err_out_kfree:
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
err_out:
release_region
(
ioaddr
,
NE_IO_EXTENT
);
return
ret
;
...
...
@@ -797,10 +782,9 @@ int init_module(void)
int
this_dev
,
found
=
0
;
for
(
this_dev
=
0
;
this_dev
<
MAX_NE_CARDS
;
this_dev
++
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
mem_end
=
bad
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
...
...
drivers/net/ne2.c
View file @
b60bdba3
...
...
@@ -280,14 +280,13 @@ static void cleanup_card(struct net_device *dev)
{
mca_mark_as_unused
(
ei_status
.
priv
);
mca_set_adapter_procfn
(
ei_status
.
priv
,
NULL
,
NULL
);
kfree
(
dev
->
priv
);
free_irq
(
dev
->
irq
,
dev
);
release_region
(
dev
->
base_addr
,
NE_IO_EXTENT
);
}
struct
net_device
*
__init
ne2_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -296,8 +295,6 @@ struct net_device * __init ne2_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_ne2_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -482,14 +479,6 @@ static int __init ne2_probe1(struct net_device *dev, int slot)
dev
->
base_addr
=
base_addr
;
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
free_irq
(
dev
->
irq
,
dev
);
retval
=
-
ENOMEM
;
goto
out
;
}
for
(
i
=
0
;
i
<
ETHER_ADDR_LEN
;
i
++
)
{
printk
(
" %2.2x"
,
SA_prom
[
i
]);
dev
->
dev_addr
[
i
]
=
SA_prom
[
i
];
...
...
@@ -797,10 +786,9 @@ int init_module(void)
int
this_dev
,
found
=
0
;
for
(
this_dev
=
0
;
this_dev
<
MAX_NE_CARDS
;
this_dev
++
)
{
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
mem_end
=
bad
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
...
...
drivers/net/ne2k_cbus.c
View file @
b60bdba3
...
...
@@ -189,7 +189,7 @@ static void cleanup_card(struct net_device *dev)
struct
net_device
*
__init
ne_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -198,8 +198,6 @@ struct net_device * __init ne_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_ne_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -500,14 +498,6 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr)
goto
err_out
;
}
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
ret
=
-
ENOMEM
;
goto
err_out
;
}
/* Snarf the interrupt now. There's no point in waiting since we cannot
share and the board will usually be enabled. */
ret
=
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
name
,
dev
);
...
...
@@ -849,10 +839,9 @@ int init_module(void)
int
this_dev
,
found
=
0
;
for
(
this_dev
=
0
;
this_dev
<
MAX_NE_CARDS
;
this_dev
++
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
mem_end
=
bad
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
...
...
drivers/net/ne3210.c
View file @
b60bdba3
...
...
@@ -111,12 +111,6 @@ static int __init ne3210_eisa_probe (struct device *device)
device
->
driver_data
=
dev
;
ioaddr
=
edev
->
base_addr
;
if
(
ethdev_init
(
dev
))
{
printk
(
"ne3210.c: unable to allocate memory for dev->priv!
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
if
(
!
request_region
(
ioaddr
,
NE3210_IO_EXTENT
,
dev
->
name
))
{
retval
=
-
EBUSY
;
goto
out
;
...
...
drivers/net/oaknet.c
View file @
b60bdba3
...
...
@@ -106,10 +106,9 @@ static int __init oaknet_init(void)
if
(
!
ioaddr
)
return
-
ENOMEM
;
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
goto
out_unmap
;
dev
->
priv
=
NULL
;
ret
=
-
EBUSY
;
if
(
!
request_region
(
OAKNET_IO_BASE
,
OAKNET_IO_SIZE
,
name
))
...
...
@@ -152,14 +151,6 @@ static int __init oaknet_init(void)
dev
->
base_addr
=
ioaddr
;
dev
->
irq
=
OAKNET_INT
;
/* Allocate 8390-specific device-private area and fields. */
ret
=
-
ENOMEM
;
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
goto
out_region
;
}
/*
* Disable all chip interrupts for now and ACK all pending
* interrupts.
...
...
@@ -174,7 +165,7 @@ static int __init oaknet_init(void)
if
(
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
name
,
dev
))
{
printk
(
"%s: unable to request interrupt %d.
\n
"
,
dev
->
name
,
dev
->
irq
);
goto
out_
priv
;
goto
out_
region
;
}
/* Tell the world about what and where we've found. */
...
...
@@ -212,8 +203,6 @@ static int __init oaknet_init(void)
out_irq
;
free_irq
(
dev
->
irq
,
dev
);
out_priv:
kfree
(
dev
->
priv
);
out_region:
release_region
(
OAKNET_IO_BASE
,
OAKNET_IO_SIZE
);
out_dev:
...
...
@@ -660,20 +649,11 @@ oaknet_dma_error(struct net_device *dev, const char *name)
*/
static
void
__exit
oaknet_cleanup_module
(
void
)
{
if
(
oaknet_devs
==
NULL
)
return
;
if
(
oaknet_devs
->
priv
!=
NULL
)
{
int
ioaddr
=
oaknet_devs
->
base_addr
;
void
*
priv
=
oaknet_devs
->
priv
;
unregister_netdev
(
oaknet_dev
);
free_irq
(
oaknet_devs
->
irq
,
oaknet_devs
);
kfree
(
priv
);
release_region
(
ioaddr
,
OAKNET_IO_SIZE
);
iounmap
(
ioaddr
);
}
/* Convert to loop once driver supports multiple devices. */
unregister_netdev
(
oaknet_dev
);
free_irq
(
oaknet_devs
->
irq
,
oaknet_devs
);
release_region
(
oaknet_devs
->
base_addr
,
OAKNET_IO_SIZE
);
iounmap
(
ioaddr
);
free_netdev
(
oaknet_devs
);
}
...
...
drivers/net/smc-ultra.c
View file @
b60bdba3
...
...
@@ -165,12 +165,11 @@ static void cleanup_card(struct net_device *dev)
pnp_device_detach
(
idev
);
#endif
release_region
(
dev
->
base_addr
-
ULTRA_NIC_OFFSET
,
ULTRA_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
ultra_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -179,8 +178,6 @@ struct net_device * __init ultra_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_ultra_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -267,13 +264,6 @@ static int __init ultra_probe1(struct net_device *dev, int ioaddr)
eeprom_irq
=
1
;
}
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
", no memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
/* The 8390 isn't at the base address, so fake the offset */
dev
->
base_addr
=
ioaddr
+
ULTRA_NIC_OFFSET
;
...
...
@@ -565,10 +555,9 @@ init_module(void)
if
(
this_dev
!=
0
)
break
;
/* only autoprobe 1st one */
printk
(
KERN_NOTICE
"smc-ultra.c: Presently autoprobing (not recommended) for a single card.
\n
"
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
if
(
do_ultra_probe
(
dev
)
==
0
)
{
...
...
drivers/net/smc-ultra32.c
View file @
b60bdba3
...
...
@@ -102,7 +102,6 @@ static void cleanup_card(struct net_device *dev)
int
ioaddr
=
dev
->
base_addr
-
ULTRA32_NIC_OFFSET
;
/* NB: ultra32_close_card() does free_irq */
release_region
(
ioaddr
,
ULTRA32_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
/* Probe for the Ultra32. This looks like a 8013 with the station
...
...
@@ -120,7 +119,7 @@ struct net_device * __init ultra32_probe(int unit)
if
(
!
EISA_bus
)
return
ERR_PTR
(
-
ENODEV
);
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
return
ERR_PTR
(
-
ENOMEM
);
...
...
@@ -243,13 +242,6 @@ static int __init ultra32_probe1(struct net_device *dev, int ioaddr)
dev
->
irq
=
irq
;
}
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
", no memory for dev->priv.
\n
"
);
retval
=
-
ENOMEM
;
goto
out
;
}
/* The 8390 isn't at the base address, so fake the offset */
dev
->
base_addr
=
ioaddr
+
ULTRA32_NIC_OFFSET
;
...
...
drivers/net/stnic.c
View file @
b60bdba3
...
...
@@ -108,19 +108,10 @@ static int __init stnic_probe(void)
return
-
ENODEV
;
/* New style probing API */
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
return
-
ENOMEM
;
SET_MODULE_OWNER
(
dev
);
dev
->
priv
=
NULL
;
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
KERN_EMERG
"Unable to get memory for dev->priv.
\n
"
);
free_netdev
(
dev
);
return
-
ENOMEM
;
}
#ifdef CONFIG_SH_STANDARD_BIOS
sh_bios_get_node_addr
(
stnic_eadr
);
...
...
@@ -139,7 +130,6 @@ static int __init stnic_probe(void)
err
=
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
dev
->
name
,
dev
);
if
(
err
)
{
printk
(
KERN_EMERG
" unable to get IRQ %d.
\n
"
,
dev
->
irq
);
kfree
(
dev
->
priv
);
free_netdev
(
dev
);
return
err
;
}
...
...
@@ -165,7 +155,6 @@ static int __init stnic_probe(void)
err
=
register_netdev
(
dev
);
if
(
err
)
{
free_irq
(
dev
->
irq
,
dev
);
kfree
(
dev
->
priv
);
free_netdev
(
dev
);
return
err
;
}
...
...
@@ -318,7 +307,6 @@ static void __exit stnic_cleanup(void)
{
unregister_netdev
(
stnic_dev
);
free_irq
(
stnic_dev
->
irq
,
stnic_dev
);
kfree
(
stnic_dev
->
priv
);
free_netdev
(
stnic_dev
);
}
...
...
drivers/net/wd.c
View file @
b60bdba3
...
...
@@ -129,12 +129,11 @@ static void cleanup_card(struct net_device *dev)
{
free_irq
(
dev
->
irq
,
dev
);
release_region
(
dev
->
base_addr
-
WD_NIC_OFFSET
,
WD_IO_EXTENT
);
kfree
(
dev
->
priv
);
}
struct
net_device
*
__init
wd_probe
(
int
unit
)
{
struct
net_device
*
dev
=
alloc_e
therdev
(
0
);
struct
net_device
*
dev
=
alloc_e
i_netdev
(
);
int
err
;
if
(
!
dev
)
...
...
@@ -143,8 +142,6 @@ struct net_device * __init wd_probe(int unit)
sprintf
(
dev
->
name
,
"eth%d"
,
unit
);
netdev_boot_setup_check
(
dev
);
dev
->
priv
=
NULL
;
/* until all 8390-based use alloc_etherdev() */
err
=
do_wd_probe
(
dev
);
if
(
err
)
goto
out
;
...
...
@@ -301,19 +298,11 @@ static int __init wd_probe1(struct net_device *dev, int ioaddr)
}
else
if
(
dev
->
irq
==
2
)
/* Fixup bogosity: IRQ2 is really IRQ9 */
dev
->
irq
=
9
;
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
" unable to get memory for dev->priv.
\n
"
);
return
-
ENOMEM
;
}
/* Snarf the interrupt now. There's no point in waiting since we cannot
share and the board will usually be enabled. */
i
=
request_irq
(
dev
->
irq
,
ei_interrupt
,
0
,
dev
->
name
,
dev
);
if
(
i
)
{
printk
(
" unable to get IRQ %d.
\n
"
,
dev
->
irq
);
kfree
(
dev
->
priv
);
dev
->
priv
=
NULL
;
return
i
;
}
...
...
@@ -515,10 +504,9 @@ init_module(void)
if
(
this_dev
!=
0
)
break
;
/* only autoprobe 1st one */
printk
(
KERN_NOTICE
"wd.c: Presently autoprobing (not recommended) for a single card.
\n
"
);
}
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
break
;
dev
->
priv
=
NULL
;
dev
->
irq
=
irq
[
this_dev
];
dev
->
base_addr
=
io
[
this_dev
];
dev
->
mem_start
=
mem
[
this_dev
];
...
...
drivers/net/zorro8390.c
View file @
b60bdba3
...
...
@@ -103,10 +103,9 @@ static int __init zorro8390_probe(void)
continue
;
board
=
z
->
resource
.
start
;
ioaddr
=
board
+
cards
[
i
].
offset
;
dev
=
alloc_e
therdev
(
0
);
dev
=
alloc_e
i_netdev
(
);
if
(
!
dev
)
return
-
ENOMEM
;
dev
->
priv
=
NULL
;
SET_MODULE_OWNER
(
dev
);
if
(
!
request_mem_region
(
ioaddr
,
NE_IO_EXTENT
*
2
,
dev
->
name
))
{
free_netdev
(
dev
);
...
...
@@ -197,13 +196,6 @@ static int __init zorro8390_init(struct net_device *dev, unsigned long board,
i
=
request_irq
(
IRQ_AMIGA_PORTS
,
ei_interrupt
,
SA_SHIRQ
,
dev
->
name
,
dev
);
if
(
i
)
return
i
;
/* Allocate dev->priv and fill in 8390 specific dev fields. */
if
(
ethdev_init
(
dev
))
{
printk
(
"Unable to get memory for dev->priv.
\n
"
);
free_irq
(
IRQ_AMIGA_PORTS
,
dev
);
return
-
ENOMEM
;
}
for
(
i
=
0
;
i
<
ETHER_ADDR_LEN
;
i
++
)
{
#ifdef DEBUG
printk
(
" %2.2x"
,
SA_prom
[
i
]);
...
...
@@ -236,10 +228,8 @@ static int __init zorro8390_init(struct net_device *dev, unsigned long board,
#endif
NS8390_init
(
dev
,
0
);
err
=
register_netdev
(
dev
);
if
(
err
)
{
kfree
(
dev
->
priv
);
if
(
err
)
free_irq
(
IRQ_AMIGA_PORTS
,
dev
);
}
return
err
;
}
...
...
@@ -421,7 +411,6 @@ static void __exit zorro8390_cleanup(void)
unregister_netdev
(
dev
);
free_irq
(
IRQ_AMIGA_PORTS
,
dev
);
release_mem_region
(
ZTWO_PADDR
(
dev
->
base_addr
),
NE_IO_EXTENT
*
2
);
kfree
(
dev
->
priv
);
free_netdev
(
dev
);
root_zorro8390_dev
=
next
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment