iphase.c (c0ed0b60f2c36acfebb53384a3b24d13b3a09309) | iphase.c (d6c1d704ab5d2e13bebb096e415156a9c54a3d32) |
---|---|
1/****************************************************************************** 2 iphase.c: Device driver for Interphase ATM PCI adapter cards 3 Author: Peter Wang <pwang@iphase.com> 4 Some fixes: Arnaldo Carvalho de Melo <acme@conectiva.com.br> 5 Interphase Corporation <www.iphase.com> 6 Version: 1.0 7******************************************************************************* 8 --- 2548 unchanged lines hidden (view full) --- 2557 if (iadev->phy_type & FE_25MBIT_PHY) 2558 ia_mb25_init(iadev); 2559 else if (iadev->phy_type & (FE_DS3_PHY | FE_E3_PHY)) 2560 ia_suni_pm7345_init(iadev); 2561 else { 2562 error = suni_init(dev); 2563 if (error) 2564 goto err_free_rx; | 1/****************************************************************************** 2 iphase.c: Device driver for Interphase ATM PCI adapter cards 3 Author: Peter Wang <pwang@iphase.com> 4 Some fixes: Arnaldo Carvalho de Melo <acme@conectiva.com.br> 5 Interphase Corporation <www.iphase.com> 6 Version: 1.0 7******************************************************************************* 8 --- 2548 unchanged lines hidden (view full) --- 2557 if (iadev->phy_type & FE_25MBIT_PHY) 2558 ia_mb25_init(iadev); 2559 else if (iadev->phy_type & (FE_DS3_PHY | FE_E3_PHY)) 2560 ia_suni_pm7345_init(iadev); 2561 else { 2562 error = suni_init(dev); 2563 if (error) 2564 goto err_free_rx; |
2565 /* 2566 * Enable interrupt on loss of signal 2567 * SUNI_RSOP_CIE - 0x10 2568 * SUNI_RSOP_CIE_LOSE - 0x04 2569 */ 2570 ia_phy_put(dev, ia_phy_get(dev, 0x10) | 0x04, 0x10); 2571#ifndef MODULE 2572 error = dev->phy->start(dev); 2573 if (error) 2574 goto err_free_rx; 2575#endif | 2565 if (dev->phy->start) { 2566 error = dev->phy->start(dev); 2567 if (error) 2568 goto err_free_rx; 2569 } |
2576 /* Get iadev->carrier_detect status */ 2577 IaFrontEndIntr(iadev); 2578 } 2579 return 0; 2580 2581err_free_rx: 2582 ia_free_rx(iadev); 2583err_free_tx: --- 649 unchanged lines hidden (view full) --- 3233 return ret; 3234} 3235 3236static void __devexit ia_remove_one(struct pci_dev *pdev) 3237{ 3238 struct atm_dev *dev = pci_get_drvdata(pdev); 3239 IADEV *iadev = INPH_IA_DEV(dev); 3240 | 2570 /* Get iadev->carrier_detect status */ 2571 IaFrontEndIntr(iadev); 2572 } 2573 return 0; 2574 2575err_free_rx: 2576 ia_free_rx(iadev); 2577err_free_tx: --- 649 unchanged lines hidden (view full) --- 3227 return ret; 3228} 3229 3230static void __devexit ia_remove_one(struct pci_dev *pdev) 3231{ 3232 struct atm_dev *dev = pci_get_drvdata(pdev); 3233 IADEV *iadev = INPH_IA_DEV(dev); 3234 |
3241 ia_phy_put(dev, ia_phy_get(dev,0x10) & ~(0x4), 0x10); | 3235 /* Disable phy interrupts */ 3236 ia_phy_put(dev, ia_phy_get(dev, SUNI_RSOP_CIE) & ~(SUNI_RSOP_CIE_LOSE), 3237 SUNI_RSOP_CIE); |
3242 udelay(1); 3243 | 3238 udelay(1); 3239 |
3240 if (dev->phy && dev->phy->stop) 3241 dev->phy->stop(dev); 3242 |
|
3244 /* De-register device */ 3245 free_irq(iadev->irq, dev); 3246 iadev_count--; 3247 ia_dev[iadev_count] = NULL; 3248 _ia_dev[iadev_count] = NULL; 3249 IF_EVENT(printk("deregistering iav at (itf:%d)\n", dev->number);) 3250 atm_dev_deregister(dev); 3251 --- 45 unchanged lines hidden --- | 3243 /* De-register device */ 3244 free_irq(iadev->irq, dev); 3245 iadev_count--; 3246 ia_dev[iadev_count] = NULL; 3247 _ia_dev[iadev_count] = NULL; 3248 IF_EVENT(printk("deregistering iav at (itf:%d)\n", dev->number);) 3249 atm_dev_deregister(dev); 3250 --- 45 unchanged lines hidden --- |