static int mv88e6390_serdes_read(struct mv88e6xxx_chip *chip, int lane, int device, int reg, u16 *val) { int reg_c45 = MII_ADDR_C45 | device << 16 | reg; return mv88e6xxx_phy_read(chip, lane, reg_c45, val); }
int mv88e6xxx_phy_page_read(struct mv88e6xxx_chip *chip, int phy, u8 page, int reg, u16 *val) { int err; /* There is no paging for registers 22 */ if (reg == MV88E6XXX_PHY_PAGE) return -EINVAL; err = mv88e6xxx_phy_page_get(chip, phy, page); if (!err) { err = mv88e6xxx_phy_read(chip, phy, reg, val); mv88e6xxx_phy_page_put(chip, phy); } return err; }
static int mv88e6123_61_65_phy_read(struct dsa_switch *ds, int port, int regnum) { int addr = mv88e6123_61_65_port_to_phy_addr(port); return mv88e6xxx_phy_read(ds, addr, regnum); }