linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / net / wan / hd6457x.c
index dce2bb3..d374332 100644 (file)
@@ -168,23 +168,6 @@ static inline u32 buffer_offset(port_t *port, u16 desc, int transmit)
 }
 
 
-static inline void sca_set_carrier(port_t *port)
-{
-       if (!(sca_in(get_msci(port) + ST3, port_to_card(port)) & ST3_DCD)) {
-#ifdef DEBUG_LINK
-               printk(KERN_DEBUG "%s: sca_set_carrier on\n",
-                      port_to_dev(port)->name);
-#endif
-               netif_carrier_on(port_to_dev(port));
-       } else {
-#ifdef DEBUG_LINK
-               printk(KERN_DEBUG "%s: sca_set_carrier off\n",
-                      port_to_dev(port)->name);
-#endif
-               netif_carrier_off(port_to_dev(port));
-       }
-}
-
 
 static void sca_init_sync_port(port_t *port)
 {
@@ -254,7 +237,9 @@ static void sca_init_sync_port(port_t *port)
                        sca_out(DIR_BOFE, DIR_TX(phy_node(port)), card);
                }
        }
-       sca_set_carrier(port);
+
+       hdlc_set_carrier(!(sca_in(get_msci(port) + ST3, card) & ST3_DCD),
+                        port_to_dev(port));
 }
 
 
@@ -277,7 +262,8 @@ static inline void sca_msci_intr(port_t *port)
        }
 
        if (stat & ST1_CDCD)
-               sca_set_carrier(port);
+               hdlc_set_carrier(!(sca_in(msci + ST3, card) & ST3_DCD),
+                                port_to_dev(port));
 }
 #endif
 
@@ -580,7 +566,7 @@ static void sca_open(struct net_device *dev)
    - all DMA interrupts
 */
 
-       sca_set_carrier(port);
+       hdlc_set_carrier(!(sca_in(msci + ST3, card) & ST3_DCD), dev);
 
 #ifdef __HD64570_H
        /* MSCI TX INT and RX INT A IRQ enable */