OSDN Git Service

net: dsa: mv88e6xxx: merge mv88e6352_serdes_power_set
authorVivien Didelot <vivien.didelot@gmail.com>
Sat, 31 Aug 2019 20:18:32 +0000 (16:18 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Sep 2019 19:16:38 +0000 (12:16 -0700)
The mv88e6352_serdes_power_set helper is only used at one place, in
mv88e6352_serdes_power. Keep it simple and merge the two functions
together.

Use mv88e6xxx_serdes_get_lane instead of mv88e6352_port_has_serdes
to avoid moving code. No functional changes.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/serdes.c

index 9fb2773..e8ad669 100644 (file)
@@ -49,11 +49,14 @@ static int mv88e6390_serdes_write(struct mv88e6xxx_chip *chip,
        return mv88e6xxx_phy_write(chip, lane, reg_c45, val);
 }
 
-static int mv88e6352_serdes_power_set(struct mv88e6xxx_chip *chip, bool on)
+int mv88e6352_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on)
 {
        u16 val, new_val;
        int err;
 
+       if (!mv88e6xxx_serdes_get_lane(chip, port))
+               return 0;
+
        err = mv88e6352_serdes_read(chip, MII_BMCR, &val);
        if (err)
                return err;
@@ -90,19 +93,6 @@ static bool mv88e6352_port_has_serdes(struct mv88e6xxx_chip *chip, int port)
        return false;
 }
 
-int mv88e6352_serdes_power(struct mv88e6xxx_chip *chip, int port, bool on)
-{
-       int err;
-
-       if (mv88e6352_port_has_serdes(chip, port)) {
-               err = mv88e6352_serdes_power_set(chip, on);
-               if (err < 0)
-                       return err;
-       }
-
-       return 0;
-}
-
 struct mv88e6352_serdes_hw_stat {
        char string[ETH_GSTRING_LEN];
        int sizeof_stat;