Browse Source

net: dsa: lan9303: Simplify lan9303_xxx_packet_processing() usage

Simplify usage of lan9303_enable_packet_processing,
lan9303_disable_packet_processing()

Signed-off-by: Egil Hjelmeland <privat@egil-hjelmeland.no>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Egil Hjelmeland 8 years ago
parent
commit
b3d14a2b2f
1 changed files with 10 additions and 14 deletions
  1. 10 14
      drivers/net/dsa/lan9303-core.c

+ 10 - 14
drivers/net/dsa/lan9303-core.c

@@ -560,15 +560,16 @@ static int lan9303_handle_reset(struct lan9303 *chip)
 /* stop processing packets for all ports */
 /* stop processing packets for all ports */
 static int lan9303_disable_processing(struct lan9303 *chip)
 static int lan9303_disable_processing(struct lan9303 *chip)
 {
 {
-	int ret;
+	int p;
 
 
-	ret = lan9303_disable_packet_processing(chip, 0);
-	if (ret)
-		return ret;
-	ret = lan9303_disable_packet_processing(chip, 1);
-	if (ret)
-		return ret;
-	return lan9303_disable_packet_processing(chip, 2);
+	for (p = 0; p < LAN9303_NUM_PORTS; p++) {
+		int ret = lan9303_disable_packet_processing(chip, p);
+
+		if (ret)
+			return ret;
+	}
+
+	return 0;
 }
 }
 
 
 static int lan9303_check_device(struct lan9303 *chip)
 static int lan9303_check_device(struct lan9303 *chip)
@@ -761,7 +762,6 @@ static int lan9303_port_enable(struct dsa_switch *ds, int port,
 	/* enable internal packet processing */
 	/* enable internal packet processing */
 	switch (port) {
 	switch (port) {
 	case 1:
 	case 1:
-		return lan9303_enable_packet_processing(chip, port);
 	case 2:
 	case 2:
 		return lan9303_enable_packet_processing(chip, port);
 		return lan9303_enable_packet_processing(chip, port);
 	default:
 	default:
@@ -780,13 +780,9 @@ static void lan9303_port_disable(struct dsa_switch *ds, int port,
 	/* disable internal packet processing */
 	/* disable internal packet processing */
 	switch (port) {
 	switch (port) {
 	case 1:
 	case 1:
-		lan9303_disable_packet_processing(chip, port);
-		lan9303_phy_write(ds, chip->phy_addr_sel_strap + 1,
-				  MII_BMCR, BMCR_PDOWN);
-		break;
 	case 2:
 	case 2:
 		lan9303_disable_packet_processing(chip, port);
 		lan9303_disable_packet_processing(chip, port);
-		lan9303_phy_write(ds, chip->phy_addr_sel_strap + 2,
+		lan9303_phy_write(ds, chip->phy_addr_sel_strap + port,
 				  MII_BMCR, BMCR_PDOWN);
 				  MII_BMCR, BMCR_PDOWN);
 		break;
 		break;
 	default:
 	default: