[patch] drivers/net/cs89x0

From: Andrew Morton (andrewm@uow.edu.au)
Date: Fri Mar 03 2000 - 08:01:48 EST


This patch against 2.3.49 makes the Cirrus cs89x0 ethernet driver work
again.

This driver has had a hard life:

Mike Cruse wrote the original (from Don Becker's skeleton, I assume).
Russ Nelson fixed a few things and added Rx DMA support. For unknown
reasons the DMA version never made it into the standard kernel tree.
Melody Lee at Cirrus took the offstream version and fixed some bugs and
added some features. Meanwhile the onstream version received some 2.3.x
tweaking from Alan. This version pulls everything together again.

Changes relative to 2.3.49:

- Enable cs89x0 in drivers/net/Config.in.
- Correctly handle resource allocation failures
- Add SMP locks.
- Re-integrate Russ Nelson's ALLOW_DMA functionality.
- If ALLOW_DMA is true, make the use of DMA selectable
  at insmod time (insmod use_dma=1 dma=5 io=0x200).
- Folded in Melody's changes and bugfixes.
- Don't call netif_wake_queue() _or_ netif_start_queue()
  in net_send_packet(). Restart the queue in the Tx
  completion ISR instead.
- The 2.3.49 version of Documentation/networking/cs89x0.txt
  was Cirrus' 2.0.x version. I replaced this with their
  2.2.5 documentation and updated it appropriately.
- Change debug handling so most of it disappears if
  DEBUGGING == 0 (dead code elimination is your friend).
- Melody's ALLOW_MEMORY code which uses the chip via
  memory space isn't integrated here. She says this is OK.
  DMA is faster anyway.
- It is tested as a module and linked-in. With and without
  DMA. SMP and UP (on a UP).
- Tested with CS8920 only (not CS8900). Probably not an issue
  as no OEMs used the CS8900 in PCs.

It's at http://www.uow.edu.au/~andrewm/cs89x0-2.3.49.patch.gz

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:14 EST