summaryrefslogtreecommitdiffstats
path: root/drivers/net/depca.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/depca.c')
-rw-r--r--drivers/net/depca.c110
1 files changed, 55 insertions, 55 deletions
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index b1cbe99..af59466 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -4,9 +4,9 @@
Copyright 1994 David C. Davies
- and
+ and
United States Government
- (as represented by the Director, National Security Agency).
+ (as represented by the Director, National Security Agency).
Copyright 1995 Digital Equipment Corporation.
@@ -61,7 +61,7 @@
Digital Equipment Corporation, 1989
8) "DEC EtherWORKS Turbo_(TP BNC) Ethernet Controller Owners Manual",
Digital Equipment corporation, 1991, Pub. #EK-DE202-OM.001
-
+
Peter Bauer's depca.c (V0.5) was referred to when debugging V0.1 of this
driver.
@@ -135,20 +135,20 @@
[Alan Cox: Changed the code to allow command line irq/io assignments]
[Dave Davies: Changed the code to allow command line mem/name
assignments]
- 6) run the net startup bits for your eth?? interface manually
- (usually /etc/rc.inet[12] at boot time).
+ 6) run the net startup bits for your eth?? interface manually
+ (usually /etc/rc.inet[12] at boot time).
7) enjoy!
Note that autoprobing is not allowed in loadable modules - the system is
already up and running and you're messing with interrupts.
- To unload a module, turn off the associated interface
+ To unload a module, turn off the associated interface
'ifconfig eth?? down' then 'rmmod depca'.
To assign a base memory address for the shared memory when running as a
loadable module, see 5 above. To include the adapter name (if you have
no PROM but know the card name) also see 5 above. Note that this last
- option will not work with kernel built-in depca's.
+ option will not work with kernel built-in depca's.
The shared memory assignment for a loadable module makes sense to avoid
the 'memory autoprobe' picking the wrong shared memory (for the case of
@@ -157,7 +157,7 @@
************************************************************************
Support for MCA EtherWORKS cards added 11-3-98.
Verified to work with up to 2 DE212 cards in a system (although not
- fully stress-tested).
+ fully stress-tested).
Currently known bugs/limitations:
@@ -176,7 +176,7 @@
----------------
Version Date Description
-
+
0.1 25-jan-94 Initial writing.
0.2 27-jan-94 Added LANCE TX hardware buffer chaining.
0.3 1-feb-94 Added multiple DEPCA support.
@@ -190,7 +190,7 @@
0.351 30-apr-94 Added EISA support. Added DE422 recognition.
0.36 16-may-94 DE422 fix released.
0.37 22-jul-94 Added MODULE support
- 0.38 15-aug-94 Added DBR ROM switch in depca_close().
+ 0.38 15-aug-94 Added DBR ROM switch in depca_close().
Multi DEPCA bug fix.
0.38axp 15-sep-94 Special version for Alpha AXP Linux V1.0.
0.381 12-dec-94 Added DE101 recognition, fix multicast bug.
@@ -198,17 +198,17 @@
0.383 22-feb-95 Fix for conflict with VESA SCSI reported by
<stromain@alf.dec.com>
0.384 17-mar-95 Fix a ring full bug reported by <bkm@star.rl.ac.uk>
- 0.385 3-apr-95 Fix a recognition bug reported by
+ 0.385 3-apr-95 Fix a recognition bug reported by
<ryan.niemi@lastfrontier.com>
0.386 21-apr-95 Fix the last fix...sorry, must be galloping senility
0.40 25-May-95 Rewrite for portability & updated.
ALPHA support from <jestabro@amt.tay1.dec.com>
0.41 26-Jun-95 Added verify_area() calls in depca_ioctl() from
suggestion by <heiko@colossus.escape.de>
- 0.42 27-Dec-95 Add 'mem' shared memory assignment for loadable
+ 0.42 27-Dec-95 Add 'mem' shared memory assignment for loadable
modules.
Add 'adapter_name' for loadable modules when no PROM.
- Both above from a suggestion by
+ Both above from a suggestion by
<pchen@woodruffs121.residence.gatech.edu>.
Add new multicasting code.
0.421 22-Apr-96 Fix alloc_device() bug <jari@markkus2.fimr.fi>
@@ -218,7 +218,7 @@
0.44 1-Sep-97 Fix *_probe() to test check_region() first - bug
reported by <mmogilvi@elbert.uccs.edu>
0.45 3-Nov-98 Added support for MCA EtherWORKS (DE210/DE212) cards
- by <tymm@computer.org>
+ by <tymm@computer.org>
0.451 5-Nov-98 Fixed mca stuff cuz I'm a dummy. <tymm@computer.org>
0.5 14-Nov-98 Re-spin for 2.1.x kernels.
0.51 27-Jun-99 Correct received packet length for CRC from
@@ -411,7 +411,7 @@ static struct platform_driver depca_isa_driver = {
.name = depca_string,
},
};
-
+
/*
** Miscellaneous info...
*/
@@ -421,14 +421,14 @@ static struct platform_driver depca_isa_driver = {
** Memory Alignment. Each descriptor is 4 longwords long. To force a
** particular alignment on the TX descriptor, adjust DESC_SKIP_LEN and
** DESC_ALIGN. DEPCA_ALIGN aligns the start address of the private memory area
-** and hence the RX descriptor ring's first entry.
+** and hence the RX descriptor ring's first entry.
*/
#define DEPCA_ALIGN4 ((u_long)4 - 1) /* 1 longword align */
#define DEPCA_ALIGN8 ((u_long)8 - 1) /* 2 longword (quadword) align */
#define DEPCA_ALIGN DEPCA_ALIGN8 /* Keep the LANCE happy... */
/*
-** The DEPCA Rx and Tx ring descriptors.
+** The DEPCA Rx and Tx ring descriptors.
*/
struct depca_rx_desc {
volatile s32 base;
@@ -591,7 +591,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)
*/
ioaddr = dev->base_addr;
-
+
STOP_DEPCA;
nicsr = inb(DEPCA_NICSR);
@@ -610,7 +610,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)
printk ("%s: %s at 0x%04lx",
device->bus_id, depca_signature[lp->adapter], ioaddr);
-
+
switch (lp->depca_bus) {
#ifdef CONFIG_MCA
case DEPCA_BUS_MCA:
@@ -657,7 +657,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)
if (lp->depca_bus != DEPCA_BUS_MCA)
mem_start += 0x8000;
}
-
+
if ((mem_len = (NUM_RX_DESC * (sizeof(struct depca_rx_desc) + RX_BUFF_SZ) + NUM_TX_DESC * (sizeof(struct depca_tx_desc) + TX_BUFF_SZ) + sizeof(struct depca_init)))
> (netRAM << 10)) {
printk(",\n requests %dkB RAM: only %dkB is available!\n", (mem_len >> 10), netRAM);
@@ -682,7 +682,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)
printk(KERN_ERR "depca: cannot request ISA memory, aborting\n");
goto out_priv;
}
-
+
status = -EIO;
lp->sh_mem = ioremap(mem_start, mem_len);
if (lp->sh_mem == NULL) {
@@ -811,7 +811,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)
device->driver_data = dev;
SET_NETDEV_DEV (dev, device);
-
+
status = register_netdev(dev);
if (status == 0)
return 0;
@@ -822,7 +822,7 @@ out1:
out_priv:
return status;
}
-
+
static int depca_open(struct net_device *dev)
{
@@ -924,8 +924,8 @@ static void depca_tx_timeout(struct net_device *dev)
}
-/*
-** Writes a socket buffer to TX descriptor ring and starts transmission
+/*
+** Writes a socket buffer to TX descriptor ring and starts transmission
*/
static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
@@ -939,7 +939,7 @@ static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
if (skb_padto(skb, ETH_ZLEN))
goto out;
-
+
netif_stop_queue(dev);
if (TX_BUFFS_AVAIL) { /* Fill in a Tx ring entry */
@@ -963,7 +963,7 @@ static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
}
/*
-** The DEPCA interrupt handler.
+** The DEPCA interrupt handler.
*/
static irqreturn_t depca_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
@@ -1053,8 +1053,8 @@ static int depca_rx(struct net_device *dev)
memcpy_fromio(buf, lp->rx_buff[lp->rx_old], pkt_len);
}
- /*
- ** Notify the upper protocol layers that there is another
+ /*
+ ** Notify the upper protocol layers that there is another
** packet to handle
*/
skb->protocol = eth_type_trans(skb, dev);
@@ -1167,9 +1167,9 @@ static int depca_close(struct net_device *dev)
printk("%s: Shutting down ethercard, status was %2.2x.\n", dev->name, inw(DEPCA_DATA));
}
- /*
+ /*
** We stop the DEPCA here -- it occasionally polls
- ** memory if we don't.
+ ** memory if we don't.
*/
outw(STOP, DEPCA_DATA);
@@ -1320,12 +1320,12 @@ static void SetMulticastFilter(struct net_device *dev)
static int __init depca_common_init (u_long ioaddr, struct net_device **devp)
{
int status = 0;
-
+
if (!request_region (ioaddr, DEPCA_TOTAL_SIZE, depca_string)) {
status = -EBUSY;
goto out;
}
-
+
if (DevicePresent(ioaddr)) {
status = -ENODEV;
goto out_release;
@@ -1337,7 +1337,7 @@ static int __init depca_common_init (u_long ioaddr, struct net_device **devp)
}
return 0;
-
+
out_release:
release_region (ioaddr, DEPCA_TOTAL_SIZE);
out:
@@ -1359,16 +1359,16 @@ static int __init depca_mca_probe(struct device *device)
struct depca_private *lp;
/*
- ** Search for the adapter. If an address has been given, search
+ ** Search for the adapter. If an address has been given, search
** specifically for the card at that address. Otherwise find the
** first card in the system.
*/
-
+
pos[0] = mca_device_read_stored_pos(mdev, 2);
pos[1] = mca_device_read_stored_pos(mdev, 3);
/*
- ** IO of card is handled by bits 1 and 2 of pos0.
+ ** IO of card is handled by bits 1 and 2 of pos0.
**
** bit2 bit1 IO
** 0 0 0x2c00
@@ -1381,12 +1381,12 @@ static int __init depca_mca_probe(struct device *device)
/*
** Found the adapter we were looking for. Now start setting it up.
- **
+ **
** First work on decoding the IRQ. It's stored in the lower 4 bits
** of pos1. Bits are as follows (from the ADF file):
**
- ** Bits
- ** 3 2 1 0 IRQ
+ ** Bits
+ ** 3 2 1 0 IRQ
** --------------------
** 0 0 1 0 5
** 0 0 0 1 9
@@ -1435,7 +1435,7 @@ static int __init depca_mca_probe(struct device *device)
strncpy(mdev->name, depca_mca_adapter_name[mdev->index],
sizeof(mdev->name));
mca_device_set_claim(mdev, 1);
-
+
/*
** Get everything allocated and initialized... (almost just
** like the ISA and EISA probes)
@@ -1452,10 +1452,10 @@ static int __init depca_mca_probe(struct device *device)
lp->depca_bus = DEPCA_BUS_MCA;
lp->adapter = depca_mca_adapter_type[mdev->index];
lp->mem_start = mem_start;
-
+
if ((err = depca_hw_init(dev, device)))
goto out_free;
-
+
return 0;
out_free:
@@ -1479,7 +1479,7 @@ static void __init depca_platform_probe (void)
for (i = 0; depca_io_ports[i].iobase; i++) {
depca_io_ports[i].device = NULL;
-
+
/* if an address has been specified on the command
* line, use it (if valid) */
if (io && io != depca_io_ports[i].iobase)
@@ -1503,7 +1503,7 @@ static void __init depca_platform_probe (void)
* no hardware at this address. Unregister it, as the
* release fuction will take care of freeing the
* allocated structure */
-
+
depca_io_ports[i].device = NULL;
pldev->dev.platform_data = NULL;
platform_device_unregister (pldev);
@@ -1541,7 +1541,7 @@ static int __init depca_isa_probe (struct platform_device *device)
goto out;
adapter = depca_shmem_probe (&mem_start);
-
+
if (adapter == unknown) {
status = -ENODEV;
goto out_free;
@@ -1554,10 +1554,10 @@ static int __init depca_isa_probe (struct platform_device *device)
lp->depca_bus = DEPCA_BUS_ISA;
lp->adapter = adapter;
lp->mem_start = mem_start;
-
+
if ((status = depca_hw_init(dev, &device->dev)))
goto out_free;
-
+
return 0;
out_free:
@@ -1591,7 +1591,7 @@ static int __init depca_eisa_probe (struct device *device)
* it's address with the ethernet prom)... As we don't parse
* the EISA configuration structures (yet... :-), just rely on
* the ISA probing to sort it out... */
-
+
depca_shmem_probe (&mem_start);
dev->base_addr = ioaddr;
@@ -1600,10 +1600,10 @@ static int __init depca_eisa_probe (struct device *device)
lp->depca_bus = DEPCA_BUS_EISA;
lp->adapter = edev->id.driver_data;
lp->mem_start = mem_start;
-
+
if ((status = depca_hw_init(dev, device)))
goto out_free;
-
+
return 0;
out_free:
@@ -1650,7 +1650,7 @@ static int __init DepcaSignature(char *name, u_long base_addr)
* used, at least on x86. Instead, reserve a memory region a
* board would certainly use. If it works, go ahead. If not,
* run like hell... */
-
+
if (!request_mem_region (mem_addr, 16, depca_string))
return unknown;
@@ -1699,7 +1699,7 @@ static int __init DepcaSignature(char *name, u_long base_addr)
** if the first address octet is a 0x08 - this minimises the chances of
** messing around with some other hardware, but it assumes that this DEPCA
** card initialized itself correctly.
-**
+**
** Search the Ethernet address ROM for the signature. Since the ROM address
** counter can start at an arbitrary point, the search must include the entire
** probe sequence length plus the (length_of_the_signature - 1).
@@ -1804,7 +1804,7 @@ static int load_packet(struct net_device *dev, struct sk_buff *skb)
entry = lp->tx_new; /* Ring around buffer number. */
end = (entry + (skb->len - 1) / TX_BUFF_SZ) & lp->txRingMask;
if (!(readl(&lp->tx_ring[end].base) & T_OWN)) { /* Enough room? */
- /*
+ /*
** Caution: the write order is important here... don't set up the
** ownership rights until all the other information is in place.
*/
@@ -2086,7 +2086,7 @@ static int __init depca_module_init (void)
#endif
err |= platform_driver_register (&depca_isa_driver);
depca_platform_probe ();
-
+
return err;
}
OpenPOWER on IntegriCloud