aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/typhoon.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-09-24 13:15:13 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-24 13:15:13 -0400
commita319a2773a13bab56a0d0b3744ba8703324313b5 (patch)
treef02c86acabd1031439fd422a167784007e84ebb1 /drivers/net/typhoon.c
parente18fa700c9a31360bc8f193aa543b7ef7b39a06b (diff)
parent183798799216fad36c7219fe8d4d6dee6b8fa755 (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/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 84fa7933a33f806bbbaae6775e87459b1ec584c0 that just happened to be next to unrelated changes in this update.
Diffstat (limited to 'drivers/net/typhoon.c')
-rw-r--r--drivers/net/typhoon.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index c6e601dc6bbc..8f6f6fd8b87d 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -86,7 +86,7 @@ static const int multicast_filter_limit = 32;
86#define RESPONSE_RING_SIZE (RESPONSE_ENTRIES * sizeof(struct resp_desc)) 86#define RESPONSE_RING_SIZE (RESPONSE_ENTRIES * sizeof(struct resp_desc))
87 87
88/* The 3XP will preload and remove 64 entries from the free buffer 88/* The 3XP will preload and remove 64 entries from the free buffer
89 * list, and we need one entry to keep the ring from wrapping, so 89 * list, and we need one entry to keep the ring from wrapping, so
90 * to keep this a power of two, we use 128 entries. 90 * to keep this a power of two, we use 128 entries.
91 */ 91 */
92#define RXFREE_ENTRIES 128 92#define RXFREE_ENTRIES 128
@@ -100,8 +100,8 @@ static const int multicast_filter_limit = 32;
100#define PKT_BUF_SZ 1536 100#define PKT_BUF_SZ 1536
101 101
102#define DRV_MODULE_NAME "typhoon" 102#define DRV_MODULE_NAME "typhoon"
103#define DRV_MODULE_VERSION "1.5.7" 103#define DRV_MODULE_VERSION "1.5.8"
104#define DRV_MODULE_RELDATE "05/01/07" 104#define DRV_MODULE_RELDATE "06/11/09"
105#define PFX DRV_MODULE_NAME ": " 105#define PFX DRV_MODULE_NAME ": "
106#define ERR_PFX KERN_ERR PFX 106#define ERR_PFX KERN_ERR PFX
107 107
@@ -269,7 +269,7 @@ struct rxbuff_ent {
269 269
270struct typhoon { 270struct typhoon {
271 /* Tx cache line section */ 271 /* Tx cache line section */
272 struct transmit_ring txLoRing ____cacheline_aligned; 272 struct transmit_ring txLoRing ____cacheline_aligned;
273 struct pci_dev * tx_pdev; 273 struct pci_dev * tx_pdev;
274 void __iomem *tx_ioaddr; 274 void __iomem *tx_ioaddr;
275 u32 txlo_dma_addr; 275 u32 txlo_dma_addr;
@@ -937,8 +937,6 @@ typhoon_set_rx_mode(struct net_device *dev)
937 937
938 filter = TYPHOON_RX_FILTER_DIRECTED | TYPHOON_RX_FILTER_BROADCAST; 938 filter = TYPHOON_RX_FILTER_DIRECTED | TYPHOON_RX_FILTER_BROADCAST;
939 if(dev->flags & IFF_PROMISC) { 939 if(dev->flags & IFF_PROMISC) {
940 printk(KERN_NOTICE "%s: Promiscuous mode enabled.\n",
941 dev->name);
942 filter |= TYPHOON_RX_FILTER_PROMISCOUS; 940 filter |= TYPHOON_RX_FILTER_PROMISCOUS;
943 } else if((dev->mc_count > multicast_filter_limit) || 941 } else if((dev->mc_count > multicast_filter_limit) ||
944 (dev->flags & IFF_ALLMULTI)) { 942 (dev->flags & IFF_ALLMULTI)) {
@@ -1073,7 +1071,7 @@ typhoon_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
1073 } else { 1071 } else {
1074 u32 sleep_ver = xp_resp[0].parm2; 1072 u32 sleep_ver = xp_resp[0].parm2;
1075 snprintf(info->fw_version, 32, "%02x.%03x.%03x", 1073 snprintf(info->fw_version, 32, "%02x.%03x.%03x",
1076 sleep_ver >> 24, (sleep_ver >> 12) & 0xfff, 1074 sleep_ver >> 24, (sleep_ver >> 12) & 0xfff,
1077 sleep_ver & 0xfff); 1075 sleep_ver & 0xfff);
1078 } 1076 }
1079 } 1077 }
@@ -1243,7 +1241,7 @@ typhoon_get_ringparam(struct net_device *dev, struct ethtool_ringparam *ering)
1243 ering->tx_pending = TXLO_ENTRIES - 1; 1241 ering->tx_pending = TXLO_ENTRIES - 1;
1244} 1242}
1245 1243
1246static struct ethtool_ops typhoon_ethtool_ops = { 1244static const struct ethtool_ops typhoon_ethtool_ops = {
1247 .get_settings = typhoon_get_settings, 1245 .get_settings = typhoon_get_settings,
1248 .set_settings = typhoon_set_settings, 1246 .set_settings = typhoon_set_settings,
1249 .get_drvinfo = typhoon_get_drvinfo, 1247 .get_drvinfo = typhoon_get_drvinfo,
@@ -2154,7 +2152,7 @@ out_sleep:
2154 goto out; 2152 goto out;
2155 } 2153 }
2156 2154
2157 if(typhoon_sleep(tp, PCI_D3hot, 0) < 0) 2155 if(typhoon_sleep(tp, PCI_D3hot, 0) < 0)
2158 printk(KERN_ERR "%s: unable to go back to sleep\n", dev->name); 2156 printk(KERN_ERR "%s: unable to go back to sleep\n", dev->name);
2159 2157
2160out: 2158out:
@@ -2602,7 +2600,7 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
2602 "(%u:%04x)\n", dev->name, xp_resp[0].numDesc, 2600 "(%u:%04x)\n", dev->name, xp_resp[0].numDesc,
2603 le32_to_cpu(xp_resp[0].parm2)); 2601 le32_to_cpu(xp_resp[0].parm2));
2604 } 2602 }
2605 2603
2606 return 0; 2604 return 0;
2607 2605
2608error_out_reset: 2606error_out_reset:
@@ -2660,7 +2658,7 @@ static struct pci_driver typhoon_driver = {
2660static int __init 2658static int __init
2661typhoon_init(void) 2659typhoon_init(void)
2662{ 2660{
2663 return pci_module_init(&typhoon_driver); 2661 return pci_register_driver(&typhoon_driver);
2664} 2662}
2665 2663
2666static void __exit 2664static void __exit