aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/3c59x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/3c59x.c')
-rw-r--r--drivers/net/3c59x.c81
1 files changed, 34 insertions, 47 deletions
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index 51ac35966b2d..70f63891b19c 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -900,7 +900,6 @@ static void acpi_set_WOL(struct net_device *dev);
900static struct ethtool_ops vortex_ethtool_ops; 900static struct ethtool_ops vortex_ethtool_ops;
901static void set_8021q_mode(struct net_device *dev, int enable); 901static void set_8021q_mode(struct net_device *dev, int enable);
902 902
903
904/* This driver uses 'options' to pass the media type, full-duplex flag, etc. */ 903/* This driver uses 'options' to pass the media type, full-duplex flag, etc. */
905/* Option count limit only -- unlimited interfaces are supported. */ 904/* Option count limit only -- unlimited interfaces are supported. */
906#define MAX_UNITS 8 905#define MAX_UNITS 8
@@ -915,8 +914,6 @@ static int global_full_duplex = -1;
915static int global_enable_wol = -1; 914static int global_enable_wol = -1;
916static int global_use_mmio = -1; 915static int global_use_mmio = -1;
917 916
918/* #define dev_alloc_skb dev_alloc_skb_debug */
919
920/* Variables to work-around the Compaq PCI BIOS32 problem. */ 917/* Variables to work-around the Compaq PCI BIOS32 problem. */
921static int compaq_ioaddr, compaq_irq, compaq_device_id = 0x5900; 918static int compaq_ioaddr, compaq_irq, compaq_device_id = 0x5900;
922static struct net_device *compaq_net_device; 919static struct net_device *compaq_net_device;
@@ -972,7 +969,7 @@ static void poll_vortex(struct net_device *dev)
972 969
973#ifdef CONFIG_PM 970#ifdef CONFIG_PM
974 971
975static int vortex_suspend (struct pci_dev *pdev, pm_message_t state) 972static int vortex_suspend(struct pci_dev *pdev, pm_message_t state)
976{ 973{
977 struct net_device *dev = pci_get_drvdata(pdev); 974 struct net_device *dev = pci_get_drvdata(pdev);
978 975
@@ -990,7 +987,7 @@ static int vortex_suspend (struct pci_dev *pdev, pm_message_t state)
990 return 0; 987 return 0;
991} 988}
992 989
993static int vortex_resume (struct pci_dev *pdev) 990static int vortex_resume(struct pci_dev *pdev)
994{ 991{
995 struct net_device *dev = pci_get_drvdata(pdev); 992 struct net_device *dev = pci_get_drvdata(pdev);
996 struct vortex_private *vp = netdev_priv(dev); 993 struct vortex_private *vp = netdev_priv(dev);
@@ -1023,8 +1020,8 @@ static struct eisa_device_id vortex_eisa_ids[] = {
1023 { "" } 1020 { "" }
1024}; 1021};
1025 1022
1026static int vortex_eisa_probe (struct device *device); 1023static int vortex_eisa_probe(struct device *device);
1027static int vortex_eisa_remove (struct device *device); 1024static int vortex_eisa_remove(struct device *device);
1028 1025
1029static struct eisa_driver vortex_eisa_driver = { 1026static struct eisa_driver vortex_eisa_driver = {
1030 .id_table = vortex_eisa_ids, 1027 .id_table = vortex_eisa_ids,
@@ -1035,12 +1032,12 @@ static struct eisa_driver vortex_eisa_driver = {
1035 } 1032 }
1036}; 1033};
1037 1034
1038static int vortex_eisa_probe (struct device *device) 1035static int vortex_eisa_probe(struct device *device)
1039{ 1036{
1040 void __iomem *ioaddr; 1037 void __iomem *ioaddr;
1041 struct eisa_device *edev; 1038 struct eisa_device *edev;
1042 1039
1043 edev = to_eisa_device (device); 1040 edev = to_eisa_device(device);
1044 1041
1045 if (!request_region(edev->base_addr, VORTEX_TOTAL_SIZE, DRV_NAME)) 1042 if (!request_region(edev->base_addr, VORTEX_TOTAL_SIZE, DRV_NAME))
1046 return -EBUSY; 1043 return -EBUSY;
@@ -1049,7 +1046,7 @@ static int vortex_eisa_probe (struct device *device)
1049 1046
1050 if (vortex_probe1(device, ioaddr, ioread16(ioaddr + 0xC88) >> 12, 1047 if (vortex_probe1(device, ioaddr, ioread16(ioaddr + 0xC88) >> 12,
1051 edev->id.driver_data, vortex_cards_found)) { 1048 edev->id.driver_data, vortex_cards_found)) {
1052 release_region (edev->base_addr, VORTEX_TOTAL_SIZE); 1049 release_region(edev->base_addr, VORTEX_TOTAL_SIZE);
1053 return -ENODEV; 1050 return -ENODEV;
1054 } 1051 }
1055 1052
@@ -1058,15 +1055,15 @@ static int vortex_eisa_probe (struct device *device)
1058 return 0; 1055 return 0;
1059} 1056}
1060 1057
1061static int vortex_eisa_remove (struct device *device) 1058static int vortex_eisa_remove(struct device *device)
1062{ 1059{
1063 struct eisa_device *edev; 1060 struct eisa_device *edev;
1064 struct net_device *dev; 1061 struct net_device *dev;
1065 struct vortex_private *vp; 1062 struct vortex_private *vp;
1066 void __iomem *ioaddr; 1063 void __iomem *ioaddr;
1067 1064
1068 edev = to_eisa_device (device); 1065 edev = to_eisa_device(device);
1069 dev = eisa_get_drvdata (edev); 1066 dev = eisa_get_drvdata(edev);
1070 1067
1071 if (!dev) { 1068 if (!dev) {
1072 printk("vortex_eisa_remove called for Compaq device!\n"); 1069 printk("vortex_eisa_remove called for Compaq device!\n");
@@ -1076,17 +1073,17 @@ static int vortex_eisa_remove (struct device *device)
1076 vp = netdev_priv(dev); 1073 vp = netdev_priv(dev);
1077 ioaddr = vp->ioaddr; 1074 ioaddr = vp->ioaddr;
1078 1075
1079 unregister_netdev (dev); 1076 unregister_netdev(dev);
1080 iowrite16 (TotalReset|0x14, ioaddr + EL3_CMD); 1077 iowrite16(TotalReset|0x14, ioaddr + EL3_CMD);
1081 release_region (dev->base_addr, VORTEX_TOTAL_SIZE); 1078 release_region(dev->base_addr, VORTEX_TOTAL_SIZE);
1082 1079
1083 free_netdev (dev); 1080 free_netdev(dev);
1084 return 0; 1081 return 0;
1085} 1082}
1086#endif 1083#endif
1087 1084
1088/* returns count found (>= 0), or negative on error */ 1085/* returns count found (>= 0), or negative on error */
1089static int __init vortex_eisa_init (void) 1086static int __init vortex_eisa_init(void)
1090{ 1087{
1091 int eisa_found = 0; 1088 int eisa_found = 0;
1092 int orig_cards_found = vortex_cards_found; 1089 int orig_cards_found = vortex_cards_found;
@@ -1117,7 +1114,7 @@ static int __init vortex_eisa_init (void)
1117} 1114}
1118 1115
1119/* returns count (>= 0), or negative on error */ 1116/* returns count (>= 0), or negative on error */
1120static int __devinit vortex_init_one (struct pci_dev *pdev, 1117static int __devinit vortex_init_one(struct pci_dev *pdev,
1121 const struct pci_device_id *ent) 1118 const struct pci_device_id *ent)
1122{ 1119{
1123 int rc, unit, pci_bar; 1120 int rc, unit, pci_bar;
@@ -1125,7 +1122,7 @@ static int __devinit vortex_init_one (struct pci_dev *pdev,
1125 void __iomem *ioaddr; 1122 void __iomem *ioaddr;
1126 1123
1127 /* wake up and enable device */ 1124 /* wake up and enable device */
1128 rc = pci_enable_device (pdev); 1125 rc = pci_enable_device(pdev);
1129 if (rc < 0) 1126 if (rc < 0)
1130 goto out; 1127 goto out;
1131 1128
@@ -1147,7 +1144,7 @@ static int __devinit vortex_init_one (struct pci_dev *pdev,
1147 rc = vortex_probe1(&pdev->dev, ioaddr, pdev->irq, 1144 rc = vortex_probe1(&pdev->dev, ioaddr, pdev->irq,
1148 ent->driver_data, unit); 1145 ent->driver_data, unit);
1149 if (rc < 0) { 1146 if (rc < 0) {
1150 pci_disable_device (pdev); 1147 pci_disable_device(pdev);
1151 goto out; 1148 goto out;
1152 } 1149 }
1153 1150
@@ -1262,7 +1259,7 @@ static int __devinit vortex_probe1(struct device *gendev,
1262 1259
1263 /* enable bus-mastering if necessary */ 1260 /* enable bus-mastering if necessary */
1264 if (vci->flags & PCI_USES_MASTER) 1261 if (vci->flags & PCI_USES_MASTER)
1265 pci_set_master (pdev); 1262 pci_set_master(pdev);
1266 1263
1267 if (vci->drv_flags & IS_VORTEX) { 1264 if (vci->drv_flags & IS_VORTEX) {
1268 u8 pci_latency; 1265 u8 pci_latency;
@@ -1306,7 +1303,7 @@ static int __devinit vortex_probe1(struct device *gendev,
1306 if (pdev) 1303 if (pdev)
1307 pci_set_drvdata(pdev, dev); 1304 pci_set_drvdata(pdev, dev);
1308 if (edev) 1305 if (edev)
1309 eisa_set_drvdata (edev, dev); 1306 eisa_set_drvdata(edev, dev);
1310 1307
1311 vp->media_override = 7; 1308 vp->media_override = 7;
1312 if (option >= 0) { 1309 if (option >= 0) {
@@ -1808,7 +1805,6 @@ vortex_up(struct net_device *dev)
1808 set_8021q_mode(dev, 1); 1805 set_8021q_mode(dev, 1);
1809 iowrite16(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */ 1806 iowrite16(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */
1810 1807
1811// issue_and_wait(dev, SetTxStart|0x07ff);
1812 iowrite16(RxEnable, ioaddr + EL3_CMD); /* Enable the receiver. */ 1808 iowrite16(RxEnable, ioaddr + EL3_CMD); /* Enable the receiver. */
1813 iowrite16(TxEnable, ioaddr + EL3_CMD); /* Enable transmitter. */ 1809 iowrite16(TxEnable, ioaddr + EL3_CMD); /* Enable transmitter. */
1814 /* Allow status bits to be seen. */ 1810 /* Allow status bits to be seen. */
@@ -1944,7 +1940,7 @@ vortex_timer(unsigned long data)
1944 if (vp->medialock) 1940 if (vp->medialock)
1945 goto leave_media_alone; 1941 goto leave_media_alone;
1946 1942
1947 if ( ! ok) { 1943 if (!ok) {
1948 unsigned int config; 1944 unsigned int config;
1949 1945
1950 do { 1946 do {
@@ -2179,7 +2175,7 @@ vortex_start_xmit(struct sk_buff *skb, struct net_device *dev)
2179 if (vp->bus_master) { 2175 if (vp->bus_master) {
2180 /* Set the bus-master controller to transfer the packet. */ 2176 /* Set the bus-master controller to transfer the packet. */
2181 int len = (skb->len + 3) & ~3; 2177 int len = (skb->len + 3) & ~3;
2182 iowrite32( vp->tx_skb_dma = pci_map_single(VORTEX_PCI(vp), skb->data, len, PCI_DMA_TODEVICE), 2178 iowrite32(vp->tx_skb_dma = pci_map_single(VORTEX_PCI(vp), skb->data, len, PCI_DMA_TODEVICE),
2183 ioaddr + Wn7_MasterAddr); 2179 ioaddr + Wn7_MasterAddr);
2184 iowrite16(len, ioaddr + Wn7_MasterLen); 2180 iowrite16(len, ioaddr + Wn7_MasterLen);
2185 vp->tx_skb = skb; 2181 vp->tx_skb = skb;
@@ -3058,7 +3054,7 @@ static struct ethtool_ops vortex_ethtool_ops = {
3058 .set_settings = vortex_set_settings, 3054 .set_settings = vortex_set_settings,
3059 .get_link = ethtool_op_get_link, 3055 .get_link = ethtool_op_get_link,
3060 .nway_reset = vortex_nway_reset, 3056 .nway_reset = vortex_nway_reset,
3061 .get_perm_addr = ethtool_op_get_perm_addr, 3057 .get_perm_addr = ethtool_op_get_perm_addr,
3062}; 3058};
3063 3059
3064#ifdef CONFIG_PCI 3060#ifdef CONFIG_PCI
@@ -3259,7 +3255,7 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val
3259 } 3255 }
3260 return; 3256 return;
3261} 3257}
3262 3258
3263/* ACPI: Advanced Configuration and Power Interface. */ 3259/* ACPI: Advanced Configuration and Power Interface. */
3264/* Set Wake-On-LAN mode and put the board into D3 (power-down) state. */ 3260/* Set Wake-On-LAN mode and put the board into D3 (power-down) state. */
3265static void acpi_set_WOL(struct net_device *dev) 3261static void acpi_set_WOL(struct net_device *dev)
@@ -3283,7 +3279,7 @@ static void acpi_set_WOL(struct net_device *dev)
3283} 3279}
3284 3280
3285 3281
3286static void __devexit vortex_remove_one (struct pci_dev *pdev) 3282static void __devexit vortex_remove_one(struct pci_dev *pdev)
3287{ 3283{
3288 struct net_device *dev = pci_get_drvdata(pdev); 3284 struct net_device *dev = pci_get_drvdata(pdev);
3289 struct vortex_private *vp; 3285 struct vortex_private *vp;
@@ -3339,7 +3335,7 @@ static int vortex_have_pci;
3339static int vortex_have_eisa; 3335static int vortex_have_eisa;
3340 3336
3341 3337
3342static int __init vortex_init (void) 3338static int __init vortex_init(void)
3343{ 3339{
3344 int pci_rc, eisa_rc; 3340 int pci_rc, eisa_rc;
3345 3341
@@ -3355,14 +3351,14 @@ static int __init vortex_init (void)
3355} 3351}
3356 3352
3357 3353
3358static void __exit vortex_eisa_cleanup (void) 3354static void __exit vortex_eisa_cleanup(void)
3359{ 3355{
3360 struct vortex_private *vp; 3356 struct vortex_private *vp;
3361 void __iomem *ioaddr; 3357 void __iomem *ioaddr;
3362 3358
3363#ifdef CONFIG_EISA 3359#ifdef CONFIG_EISA
3364 /* Take care of the EISA devices */ 3360 /* Take care of the EISA devices */
3365 eisa_driver_unregister (&vortex_eisa_driver); 3361 eisa_driver_unregister(&vortex_eisa_driver);
3366#endif 3362#endif
3367 3363
3368 if (compaq_net_device) { 3364 if (compaq_net_device) {
@@ -3370,33 +3366,24 @@ static void __exit vortex_eisa_cleanup (void)
3370 ioaddr = ioport_map(compaq_net_device->base_addr, 3366 ioaddr = ioport_map(compaq_net_device->base_addr,
3371 VORTEX_TOTAL_SIZE); 3367 VORTEX_TOTAL_SIZE);
3372 3368
3373 unregister_netdev (compaq_net_device); 3369 unregister_netdev(compaq_net_device);
3374 iowrite16 (TotalReset, ioaddr + EL3_CMD); 3370 iowrite16(TotalReset, ioaddr + EL3_CMD);
3375 release_region(compaq_net_device->base_addr, 3371 release_region(compaq_net_device->base_addr,
3376 VORTEX_TOTAL_SIZE); 3372 VORTEX_TOTAL_SIZE);
3377 3373
3378 free_netdev (compaq_net_device); 3374 free_netdev(compaq_net_device);
3379 } 3375 }
3380} 3376}
3381 3377
3382 3378
3383static void __exit vortex_cleanup (void) 3379static void __exit vortex_cleanup(void)
3384{ 3380{
3385 if (vortex_have_pci) 3381 if (vortex_have_pci)
3386 pci_unregister_driver (&vortex_driver); 3382 pci_unregister_driver(&vortex_driver);
3387 if (vortex_have_eisa) 3383 if (vortex_have_eisa)
3388 vortex_eisa_cleanup (); 3384 vortex_eisa_cleanup();
3389} 3385}
3390 3386
3391 3387
3392module_init(vortex_init); 3388module_init(vortex_init);
3393module_exit(vortex_cleanup); 3389module_exit(vortex_cleanup);
3394
3395
3396/*
3397 * Local variables:
3398 * c-indent-level: 4
3399 * c-basic-offset: 4
3400 * tab-width: 4
3401 * End:
3402 */