[PATCH 02/12] staging: et131x: Remove private adapter->duplex_mode and use phydev->duplex instead

Mark Einon mark.einon at gmail.com
Sun Sep 4 10:24:33 UTC 2011


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 at gmail.com>
---
 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




More information about the devel mailing list