forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/ker…
…nel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (217 commits) net/ieee80211: fix more crypto-related build breakage [PATCH] Spidernet: add ethtool -S (show statistics) [NET] GT96100: Delete bitrotting ethernet driver [PATCH] mv643xx_eth: restrict to 32-bit PPC_MULTIPLATFORM [PATCH] Cirrus Logic ep93xx ethernet driver r8169: the MMIO region of the 8167 stands behin BAR#1 e1000, ixgb: Remove pointless wrappers [PATCH] Remove powerpc specific parts of 3c509 driver [PATCH] s2io: Switch to pci_get_device [PATCH] gt96100: move to pci_get_device API [PATCH] ehea: bugfix for register access functions [PATCH] e1000 disable device on PCI error drivers/net/phy/fixed: #if 0 some incomplete code drivers/net: const-ify ethtool_ops declarations [PATCH] ethtool: allow const ethtool_ops [PATCH] sky2: big endian [PATCH] sky2: fiber support [PATCH] sky2: tx pause bug fix drivers/net: Trim trailing whitespace [PATCH] ehea: IBM eHEA Ethernet Device Driver ... Manually resolved conflicts in drivers/net/ixgb/ixgb_main.c and drivers/net/sky2.c related to CHECKSUM_HW/CHECKSUM_PARTIAL changes by commit 84fa793 that just happened to be next to unrelated changes in this update.
- Loading branch information
Showing
360 changed files
with
40,596 additions
and
28,263 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
Copyright (c) 2003-2006 QLogic Corporation | ||
QLogic Linux Networking HBA Driver | ||
|
||
This program includes a device driver for Linux 2.6 that may be | ||
distributed with QLogic hardware specific firmware binary file. | ||
You may modify and redistribute the device driver code under the | ||
GNU General Public License as published by the Free Software | ||
Foundation (version 2 or a later version). | ||
|
||
You may redistribute the hardware specific firmware binary file | ||
under the following terms: | ||
|
||
1. Redistribution of source code (only if applicable), | ||
must retain the above copyright notice, this list of | ||
conditions and the following disclaimer. | ||
|
||
2. Redistribution in binary form must reproduce the above | ||
copyright notice, this list of conditions and the | ||
following disclaimer in the documentation and/or other | ||
materials provided with the distribution. | ||
|
||
3. The name of QLogic Corporation may not be used to | ||
endorse or promote products derived from this software | ||
without specific prior written permission | ||
|
||
REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
POSSIBILITY OF SUCH DAMAGE. | ||
|
||
USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
COMBINATION WITH THIS PROGRAM. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -457,9 +457,9 @@ L: [email protected] | |
W: http://www.baycom.org/~tom/ham/ham.html | ||
S: Maintained | ||
|
||
BCM43XX WIRELESS DRIVER | ||
P: Michael Buesch | ||
M: [email protected] | ||
BCM43XX WIRELESS DRIVER (SOFTMAC BASED VERSION) | ||
P: Larry Finger | ||
M: [email protected] | ||
P: Stefano Brivio | ||
M: [email protected] | ||
W: http://bcm43xx.berlios.de/ | ||
|
@@ -2389,6 +2389,12 @@ M: [email protected] | |
L: [email protected] | ||
S: Supported | ||
|
||
QLOGIC QLA3XXX NETWORK DRIVER | ||
P: Ron Mercer | ||
M: [email protected] | ||
L: [email protected] | ||
S: Supported | ||
|
||
QNX4 FILESYSTEM | ||
P: Anders Larsen | ||
M: [email protected] | ||
|
@@ -2641,6 +2647,18 @@ P: Nicolas Pitre | |
M: [email protected] | ||
S: Maintained | ||
|
||
SOFTMAC LAYER (IEEE 802.11) | ||
P: Johannes Berg | ||
M: [email protected] | ||
P: Joe Jezak | ||
M: [email protected] | ||
P: Daniel Drake | ||
M: [email protected] | ||
W: http://softmac.sipsolutions.net/ | ||
L: [email protected] | ||
L: [email protected] | ||
S: Maintained | ||
|
||
SOFTWARE RAID (Multiple Disks) SUPPORT | ||
P: Ingo Molnar | ||
M: [email protected] | ||
|
@@ -2922,8 +2940,8 @@ W: http://www.auk.cx/tms380tr/ | |
S: Maintained | ||
|
||
TULIP NETWORK DRIVER | ||
P: Jeff Garzik | ||
M: jgarzik@pobox.com | ||
P: Valerie Henson | ||
M: [email protected].com | ||
L: [email protected] | ||
W: http://sourceforge.net/projects/tulip/ | ||
S: Maintained | ||
|
@@ -3374,6 +3392,15 @@ W: http://www.qsl.net/dl1bke/ | |
L: [email protected] | ||
S: Maintained | ||
|
||
ZD1211RW WIRELESS DRIVER | ||
P: Daniel Drake | ||
M: [email protected] | ||
P: Ulrich Kunitz | ||
M: [email protected] | ||
W: http://zd1211.ath.cx/wiki/DriverRewrite | ||
L: [email protected] (subscribers-only) | ||
S: Maintained | ||
|
||
ZF MACHZ WATCHDOG | ||
P: Fernando Fuganti | ||
M: [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,17 +30,17 @@ | |
with a TX-TX optimisation to see if we can touch 180-200K/second as seems | ||
theoretically maximum. | ||
19950402 Alan Cox <[email protected]> | ||
Cleaned up for 2.3.x because we broke SMP now. | ||
Cleaned up for 2.3.x because we broke SMP now. | ||
20000208 Alan Cox <[email protected]> | ||
Check up pass for 2.5. Nothing significant changed | ||
20021009 Alan Cox <[email protected]> | ||
Fixed zero fill corner case | ||
Fixed zero fill corner case | ||
20030104 Alan Cox <[email protected]> | ||
For the avoidance of doubt the "preferred form" of this code is one which | ||
is in an open non patent encumbered format. Where cryptographic key signing | ||
forms part of the process of creating an executable the information | ||
|
@@ -58,7 +58,7 @@ | |
* Some documentation is available from 3Com. Due to the boards age | ||
* standard responses when you ask for this will range from 'be serious' | ||
* to 'give it to a museum'. The documentation is incomplete and mostly | ||
* of historical interest anyway. | ||
* of historical interest anyway. | ||
* | ||
* The basic system is a single buffer which can be used to receive or | ||
* transmit a packet. A third command mode exists when you are setting | ||
|
@@ -80,7 +80,7 @@ | |
* out with those too). | ||
* | ||
* DOC: Problems | ||
* | ||
* | ||
* There are a wide variety of undocumented error returns from the card | ||
* and you basically have to kick the board and pray if they turn up. Most | ||
* only occur under extreme load or if you do something the board doesn't | ||
|
@@ -120,7 +120,6 @@ static const char version[] = | |
#include <linux/slab.h> | ||
#include <linux/string.h> | ||
#include <linux/errno.h> | ||
#include <linux/config.h> /* for CONFIG_IP_MULTICAST */ | ||
#include <linux/spinlock.h> | ||
#include <linux/ethtool.h> | ||
#include <linux/delay.h> | ||
|
@@ -146,7 +145,7 @@ static int mem_start; | |
|
||
/** | ||
* el1_probe: - probe for a 3c501 | ||
* @dev: The device structure passed in to probe. | ||
* @dev: The device structure passed in to probe. | ||
* | ||
* This can be called from two places. The network layer will probe using | ||
* a device structure passed in with the probe information completed. For a | ||
|
@@ -156,7 +155,7 @@ static int mem_start; | |
* Returns 0 on success. ENXIO if asked not to probe and ENODEV if asked to | ||
* probe and failing to find anything. | ||
*/ | ||
|
||
struct net_device * __init el1_probe(int unit) | ||
{ | ||
struct net_device *dev = alloc_etherdev(sizeof(struct net_local)); | ||
|
@@ -201,7 +200,7 @@ struct net_device * __init el1_probe(int unit) | |
} | ||
|
||
/** | ||
* el1_probe1: | ||
* el1_probe1: | ||
* @dev: The device structure to use | ||
* @ioaddr: An I/O address to probe at. | ||
* | ||
|
@@ -308,7 +307,7 @@ static int __init el1_probe1(struct net_device *dev, int ioaddr) | |
memset(dev->priv, 0, sizeof(struct net_local)); | ||
lp = netdev_priv(dev); | ||
spin_lock_init(&lp->lock); | ||
|
||
/* | ||
* The EL1-specific entries in the device structure. | ||
*/ | ||
|
@@ -329,7 +328,7 @@ static int __init el1_probe1(struct net_device *dev, int ioaddr) | |
* @dev: device that is being opened | ||
* | ||
* When an ifconfig is issued which changes the device flags to include | ||
* IFF_UP this function is called. It is only called when the change | ||
* IFF_UP this function is called. It is only called when the change | ||
* occurs, not when the interface remains up. #el1_close will be called | ||
* when it goes down. | ||
* | ||
|
@@ -368,12 +367,12 @@ static int el_open(struct net_device *dev) | |
* violence and prayer | ||
* | ||
*/ | ||
|
||
static void el_timeout(struct net_device *dev) | ||
{ | ||
struct net_local *lp = netdev_priv(dev); | ||
int ioaddr = dev->base_addr; | ||
|
||
if (el_debug) | ||
printk (KERN_DEBUG "%s: transmit timed out, txsr %#2x axsr=%02x rxsr=%02x.\n", | ||
dev->name, inb(TX_STATUS), inb(AX_STATUS), inb(RX_STATUS)); | ||
|
@@ -386,7 +385,7 @@ static void el_timeout(struct net_device *dev) | |
netif_wake_queue(dev); | ||
} | ||
|
||
|
||
/** | ||
* el_start_xmit: | ||
* @skb: The packet that is queued to be sent | ||
|
@@ -422,7 +421,7 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev) | |
*/ | ||
|
||
spin_lock_irqsave(&lp->lock, flags); | ||
|
||
/* | ||
* Avoid timer-based retransmission conflicts. | ||
*/ | ||
|
@@ -435,10 +434,10 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev) | |
int pad = 0; | ||
int gp_start; | ||
unsigned char *buf = skb->data; | ||
|
||
if (len < ETH_ZLEN) | ||
pad = ETH_ZLEN - len; | ||
|
||
gp_start = 0x800 - ( len + pad ); | ||
|
||
lp->tx_pkt_start = gp_start; | ||
|
@@ -464,7 +463,7 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev) | |
*/ | ||
|
||
spin_unlock_irqrestore(&lp->lock, flags); | ||
|
||
outw(0x00, RX_BUF_CLR); /* Set rx packet area to 0. */ | ||
outw(gp_start, GP_LOW); /* aim - packet will be loaded into buffer start */ | ||
outsb(DATAPORT,buf,len); /* load buffer (usual thing each byte increments the pointer) */ | ||
|
@@ -473,7 +472,7 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev) | |
outb(0, DATAPORT); | ||
} | ||
outw(gp_start, GP_LOW); /* the board reuses the same register */ | ||
|
||
if(lp->loading != 2) | ||
{ | ||
outb(AX_XMIT, AX_CMD); /* fire ... Trigger xmit. */ | ||
|
@@ -499,7 +498,7 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev) | |
* @dev_id: The 3c501 that burped | ||
* @regs: Register data (surplus to our requirements) | ||
* | ||
* Handle the ether interface interrupts. The 3c501 needs a lot more | ||
* Handle the ether interface interrupts. The 3c501 needs a lot more | ||
* hand holding than most cards. In particular we get a transmit interrupt | ||
* with a collision error because the board firmware isnt capable of rewinding | ||
* its own transmit buffer pointers. It can however count to 16 for us. | ||
|
@@ -527,7 +526,7 @@ static irqreturn_t el_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |
lp = netdev_priv(dev); | ||
|
||
spin_lock(&lp->lock); | ||
|
||
/* | ||
* What happened ? | ||
*/ | ||
|
@@ -795,7 +794,7 @@ static void el_reset(struct net_device *dev) | |
* of the rest will be cleaned up by #el1_open. Always returns 0 indicating | ||
* a success. | ||
*/ | ||
|
||
static int el1_close(struct net_device *dev) | ||
{ | ||
int ioaddr = dev->base_addr; | ||
|
@@ -804,7 +803,7 @@ static int el1_close(struct net_device *dev) | |
printk(KERN_INFO "%s: Shutting down Ethernet card at %#x.\n", dev->name, ioaddr); | ||
|
||
netif_stop_queue(dev); | ||
|
||
/* | ||
* Free and disable the IRQ. | ||
*/ | ||
|
@@ -825,7 +824,7 @@ static int el1_close(struct net_device *dev) | |
* | ||
* Returns the statistics for the card from the card private data | ||
*/ | ||
|
||
static struct net_device_stats *el1_get_stats(struct net_device *dev) | ||
{ | ||
struct net_local *lp = netdev_priv(dev); | ||
|
@@ -836,7 +835,7 @@ static struct net_device_stats *el1_get_stats(struct net_device *dev) | |
* set_multicast_list: | ||
* @dev: The device to adjust | ||
* | ||
* Set or clear the multicast filter for this adaptor to use the best-effort | ||
* Set or clear the multicast filter for this adaptor to use the best-effort | ||
* filtering supported. The 3c501 supports only three modes of filtering. | ||
* It always receives broadcasts and packets for itself. You can choose to | ||
* optionally receive all packets, or all multicast packets on top of this. | ||
|
@@ -882,7 +881,7 @@ static void netdev_set_msglevel(struct net_device *dev, u32 level) | |
debug = level; | ||
} | ||
|
||
static struct ethtool_ops netdev_ethtool_ops = { | ||
static const struct ethtool_ops netdev_ethtool_ops = { | ||
.get_drvinfo = netdev_get_drvinfo, | ||
.get_msglevel = netdev_get_msglevel, | ||
.set_msglevel = netdev_set_msglevel, | ||
|
@@ -908,7 +907,7 @@ MODULE_PARM_DESC(irq, "EtherLink IRQ number"); | |
* Returns 0 for success or -EIO if a card is not found. Returning an error | ||
* here also causes the module to be unloaded | ||
*/ | ||
|
||
int __init init_module(void) | ||
{ | ||
dev_3c501 = el1_probe(-1); | ||
|
@@ -919,11 +918,11 @@ int __init init_module(void) | |
|
||
/** | ||
* cleanup_module: | ||
* | ||
* | ||
* The module is being unloaded. We unhook our network device from the system | ||
* and then free up the resources we took when the card was found. | ||
*/ | ||
|
||
void cleanup_module(void) | ||
{ | ||
struct net_device *dev = dev_3c501; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.