vserver 1.9.3
[linux-2.6.git] / drivers / net / skfp / skfddi.c
index 24032c7..8308bcc 100644 (file)
@@ -131,20 +131,10 @@ void mac_drv_clear_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
                       int frag_count);
 int mac_drv_rx_init(struct s_smc *smc, int len, int fc, char *look_ahead,
                    int la_len);
-void smt_timer_poll(struct s_smc *smc);
-void ring_status_indication(struct s_smc *smc, u_long status);
-unsigned long smt_get_time(void);
-void smt_stat_counter(struct s_smc *smc, int stat);
-void cfm_state_change(struct s_smc *smc, int c_state);
-void ecm_state_change(struct s_smc *smc, int e_state);
-void pcm_state_change(struct s_smc *smc, int plc, int p_state);
-void rmt_state_change(struct s_smc *smc, int r_state);
-void drv_reset_indication(struct s_smc *smc);
 void dump_data(unsigned char *Data, int length);
 
-
 // External functions from the hardware module
-extern u_int mac_drv_check_space();
+extern u_int mac_drv_check_space(void);
 extern void read_address(struct s_smc *smc, u_char * mac_addr);
 extern void card_stop(struct s_smc *smc);
 extern int mac_drv_init(struct s_smc *smc);
@@ -157,9 +147,7 @@ extern void fddi_isr(struct s_smc *smc);
 extern void hwm_rx_frag(struct s_smc *smc, char far * virt, u_long phys,
                        int len, int frame_status);
 extern void mac_drv_rx_mode(struct s_smc *smc, int mode);
-extern void mac_drv_clear_tx_queue(struct s_smc *smc);
 extern void mac_drv_clear_rx_queue(struct s_smc *smc);
-extern void mac_clear_multicast(struct s_smc *smc);
 extern void enable_tx_irq(struct s_smc *smc, u_short queue);
 extern void mac_drv_clear_txd(struct s_smc *smc);
 
@@ -921,8 +909,10 @@ static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev)
                                dmi = dev->mc_list;
 
                                for (i = 0; i < dev->mc_count; i++) {
-                                       mac_add_multicast(smc,
-                                                         dmi->dmi_addr, 1);
+                                       mac_add_multicast(smc, 
+                                                         (struct fddi_addr *)dmi->dmi_addr, 
+                                                         1);
+
                                        PRINTK(KERN_INFO "ENABLE MC ADDRESS:");
                                        PRINTK(" %02x %02x %02x ",
                                               dmi->dmi_addr[0],
@@ -1105,7 +1095,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev)
         */
 
        if (!(skb->len >= FDDI_K_LLC_ZLEN && skb->len <= FDDI_K_LLC_LEN)) {
-               bp->MacStat.tx_errors++;        /* bump error counter */
+               bp->MacStat.gen.tx_errors++;    /* bump error counter */
                // dequeue packets from xmt queue and send them
                netif_start_queue(dev);
                dev_kfree_skb(skb);
@@ -1556,8 +1546,8 @@ void mac_drv_tx_complete(struct s_smc *smc, volatile struct s_smt_fp_txd *txd)
                         skb->len, PCI_DMA_TODEVICE);
        txd->txd_os.dma_addr = 0;
 
-       smc->os.MacStat.tx_packets++;   // Count transmitted packets.
-       smc->os.MacStat.tx_bytes+=skb->len;     // Count bytes
+       smc->os.MacStat.gen.tx_packets++;       // Count transmitted packets.
+       smc->os.MacStat.gen.tx_bytes+=skb->len; // Count bytes
 
        // free the skb
        dev_kfree_skb_irq(skb);
@@ -1639,7 +1629,7 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
        skb = rxd->rxd_os.skb;
        if (!skb) {
                PRINTK(KERN_INFO "No skb in rxd\n");
-               smc->os.MacStat.rx_errors++;
+               smc->os.MacStat.gen.rx_errors++;
                goto RequeueRxd;
        }
        virt = skb->data;
@@ -1692,13 +1682,14 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
        }
 
        // Count statistics.
-       smc->os.MacStat.rx_packets++;   // Count indicated receive packets.
-       smc->os.MacStat.rx_bytes+=len;  // Count bytes
+       smc->os.MacStat.gen.rx_packets++;       // Count indicated receive
+                                               // packets.
+       smc->os.MacStat.gen.rx_bytes+=len;      // Count bytes.
 
        // virt points to header again
        if (virt[1] & 0x01) {   // Check group (multicast) bit.
 
-               smc->os.MacStat.multicast++;
+               smc->os.MacStat.gen.multicast++;
        }
 
        // deliver frame to system
@@ -1716,7 +1707,8 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
       RequeueRxd:
        PRINTK(KERN_INFO "Rx: re-queue RXD.\n");
        mac_drv_requeue_rxd(smc, rxd, frag_count);
-       smc->os.MacStat.rx_errors++;    // Count receive packets not indicated.
+       smc->os.MacStat.gen.rx_errors++;        // Count receive packets
+                                               // not indicated.
 
 }                              // mac_drv_rx_complete
 
@@ -2091,7 +2083,7 @@ void smt_stat_counter(struct s_smc *smc, int stat)
                break;
        case 1:
                PRINTK(KERN_INFO "Receive fifo overflow.\n");
-               smc->os.MacStat.rx_errors++;
+               smc->os.MacStat.gen.rx_errors++;
                break;
        default:
                PRINTK(KERN_INFO "Unknown status (%d).\n", stat);