staging: et131x: Remove private adapter->duplex_mode and use phydev->duplex instead
authorMark Einon <mark.einon@gmail.com>
Sun, 4 Sep 2011 10:24:33 +0000 (11:24 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 6 Sep 2011 23:54:54 +0000 (16:54 -0700)
The phy device keeps a note of the duplex mode, so use that value instead of duplex mode.

Also use the phydev defines for duplex modes, and remove the driver private ones.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/et131x/et1310_mac.c
drivers/staging/et131x/et1310_phy.c
drivers/staging/et131x/et1310_phy.h
drivers/staging/et131x/et131x_adapter.h

index efabc038bb4ecc2ccfebdf906c2eaa8167b1c725..08d7691ce19d92f9ac9972099727eb48a9a292ef 100644 (file)
@@ -205,11 +205,11 @@ void et1310_config_mac_regs2(struct et131x_adapter *adapter)
        cfg2 &= ~0x0021;
 
        /* Turn on duplex if needed */
-       if (adapter->duplex_mode)
+       if (phydev && phydev->duplex == DUPLEX_FULL)
                cfg2 |= 0x01;
 
        ifctrl &= ~(1 << 26);
-       if (!adapter->duplex_mode)
+       if (phydev && phydev->duplex == DUPLEX_HALF)
                ifctrl |= (1<<26);      /* Enable ghd */
 
        writel(ifctrl, &mac->if_ctrl);
@@ -450,7 +450,9 @@ void et1310_config_macstat_regs(struct et131x_adapter *adapter)
 
 void et1310_config_flow_control(struct et131x_adapter *adapter)
 {
-       if (adapter->duplex_mode == 0) {
+       struct phy_device *phydev = adapter->phydev;
+
+       if (phydev->duplex == DUPLEX_HALF) {
                adapter->flowcontrol = FLOW_NONE;
        } else {
                char remote_pause, remote_async_pause;
index c5d0d02f4ca1d1298cdb3a0dc38e66a4a9f66839..41f0afa4a13c5260e81c91b5655dd300704c4107 100644 (file)
@@ -477,8 +477,6 @@ void et131x_mii_check(struct et131x_adapter *adapter,
 
                        netif_carrier_off(adapter->netdev);
 
-                       adapter->duplex_mode = 0;
-
                        /* Free the packets being actively sent & stopped */
                        et131x_free_busy_send_packets(adapter);
 
@@ -516,8 +514,6 @@ void et131x_mii_check(struct et131x_adapter *adapter,
                                             &speed, &duplex, &mdi_mdix,
                                             &masterslave, &polarity);
 
-                       adapter->duplex_mode = duplex;
-
                        adapter->boot_coma = 20;
 
                        if (phydev && phydev->speed == SPEED_10) {
index 3e95c66dfde8273b1c3d030c9fe2b1899648084d..d996e8e746c9e9c68778d4cb0a4285e2c7f4e77b 100644 (file)
@@ -242,10 +242,6 @@ struct mi_regs {
 #define TRUEPHY_MASK                    2
 #endif
 
-/* Define duplex modes */
-#define TRUEPHY_DUPLEX_HALF             0
-#define TRUEPHY_DUPLEX_FULL             1
-
 /* Define master/slave configuration values */
 #define TRUEPHY_CFG_SLAVE               0
 #define TRUEPHY_CFG_MASTER              1
index 1e65e798282bf078a4bcf29cc91030121166c56f..a63f3768daa1ec084447c9bc3b378f7c9c6382a5 100644 (file)
@@ -169,7 +169,6 @@ struct et131x_adapter {
 
        /* Packet Filter and look ahead size */
        u32 packet_filter;
-       u32 duplex_mode;
 
        /* multicast list */
        u32 multicast_addr_count;