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 <[email protected]>
---
 drivers/staging/et131x/et1310_mac.c     |    8 +++++---
 drivers/staging/et131x/et1310_phy.c     |    4 ----
 drivers/staging/et131x/et1310_phy.h     |    4 ----
 drivers/staging/et131x/et131x_adapter.h |    1 -
 4 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/et131x/et1310_mac.c 
b/drivers/staging/et131x/et1310_mac.c
index efabc03..08d7691 100644
--- a/drivers/staging/et131x/et1310_mac.c
+++ b/drivers/staging/et131x/et1310_mac.c
@@ -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;
diff --git a/drivers/staging/et131x/et1310_phy.c 
b/drivers/staging/et131x/et1310_phy.c
index c5d0d02..41f0afa 100644
--- a/drivers/staging/et131x/et1310_phy.c
+++ b/drivers/staging/et131x/et1310_phy.c
@@ -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) {
diff --git a/drivers/staging/et131x/et1310_phy.h 
b/drivers/staging/et131x/et1310_phy.h
index 3e95c66..d996e8e 100644
--- a/drivers/staging/et131x/et1310_phy.h
+++ b/drivers/staging/et131x/et1310_phy.h
@@ -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
diff --git a/drivers/staging/et131x/et131x_adapter.h 
b/drivers/staging/et131x/et131x_adapter.h
index 1e65e79..a63f376 100644
--- a/drivers/staging/et131x/et131x_adapter.h
+++ b/drivers/staging/et131x/et131x_adapter.h
@@ -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;
-- 
1.7.6

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to