struct device *hwmon_dev;
 };
 
+static int marvell_get_page(struct phy_device *phydev)
+{
+       return phy_read(phydev, MII_MARVELL_PHY_PAGE);
+}
+
+static int marvell_set_page(struct phy_device *phydev, int page)
+{
+       return phy_write(phydev, MII_MARVELL_PHY_PAGE, page);
+}
+
 static int marvell_ack_interrupt(struct phy_device *phydev)
 {
        int err;
        if (!paddr || len < (4 * sizeof(*paddr)))
                return 0;
 
-       saved_page = phy_read(phydev, MII_MARVELL_PHY_PAGE);
+       saved_page = marvell_get_page(phydev);
        if (saved_page < 0)
                return saved_page;
        current_page = saved_page;
        ret = 0;
        len /= sizeof(*paddr);
        for (i = 0; i < len - 3; i += 4) {
-               u16 reg_page = be32_to_cpup(paddr + i);
+               u16 page = be32_to_cpup(paddr + i);
                u16 reg = be32_to_cpup(paddr + i + 1);
                u16 mask = be32_to_cpup(paddr + i + 2);
                u16 val_bits = be32_to_cpup(paddr + i + 3);
                int val;
 
-               if (reg_page != current_page) {
-                       current_page = reg_page;
-                       ret = phy_write(phydev, MII_MARVELL_PHY_PAGE, reg_page);
+               if (page != current_page) {
+                       current_page = page;
+                       ret = marvell_set_page(phydev, page);
                        if (ret < 0)
                                goto err;
                }
        }
 err:
        if (current_page != saved_page) {
-               i = phy_write(phydev, MII_MARVELL_PHY_PAGE, saved_page);
+               i = marvell_set_page(phydev, saved_page);
                if (ret == 0)
                        ret = i;
        }
 {
        int err, oldpage, mscr;
 
-       oldpage = phy_read(phydev, MII_MARVELL_PHY_PAGE);
+       oldpage = marvell_get_page(phydev);
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                       MII_88E1121_PHY_MSCR_PAGE);
+       err = marvell_set_page(phydev, MII_88E1121_PHY_MSCR_PAGE);
        if (err < 0)
                return err;
 
                        return err;
        }
 
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, oldpage);
+       marvell_set_page(phydev, oldpage);
 
        err = phy_write(phydev, MII_BMCR, BMCR_RESET);
        if (err < 0)
 {
        int err, oldpage, mscr;
 
-       oldpage = phy_read(phydev, MII_MARVELL_PHY_PAGE);
+       oldpage = marvell_get_page(phydev);
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                       MII_88E1121_PHY_MSCR_PAGE);
+       err = marvell_set_page(phydev, MII_88E1121_PHY_MSCR_PAGE);
        if (err < 0)
                return err;
 
        if (err < 0)
                return err;
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, oldpage);
+       err = marvell_set_page(phydev, oldpage);
        if (err < 0)
                return err;
 
 {
        int err;
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+       err = marvell_set_page(phydev, MII_M1111_COPPER);
        if (err < 0)
                goto error;
 
                goto error;
 
        /* Then the fiber link */
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_FIBER);
+       err = marvell_set_page(phydev, MII_M1111_FIBER);
        if (err < 0)
                goto error;
 
        if (err < 0)
                goto error;
 
-       return phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+       return marvell_set_page(phydev, MII_M1111_COPPER);
 
 error:
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+       marvell_set_page(phydev, MII_M1111_COPPER);
        return err;
 }
 
 
        mdelay(500);
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0);
+       err = marvell_set_page(phydev, 0);
        if (err < 0)
                return err;
 
        if (err < 0)
                return err;
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 2);
+       err = marvell_set_page(phydev, 2);
        if (err < 0)
                return err;
        temp = phy_read(phydev, MII_M1116R_CONTROL_REG_MAC);
        err = phy_write(phydev, MII_M1116R_CONTROL_REG_MAC, temp);
        if (err < 0)
                return err;
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0);
+       err = marvell_set_page(phydev, 0);
        if (err < 0)
                return err;
 
 {
        int err, oldpage;
 
-       oldpage = phy_read(phydev, MII_MARVELL_PHY_PAGE);
+       oldpage = marvell_get_page(phydev);
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_88E1121_PHY_LED_PAGE);
+       err = marvell_set_page(phydev, MII_88E1121_PHY_LED_PAGE);
        if (err < 0)
                return err;
 
        if (err < 0)
                return err;
 
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, oldpage);
+       marvell_set_page(phydev, oldpage);
 
        /* Set marvell,reg-init configuration from device tree */
        return marvell_config_init(phydev);
        /* SGMII-to-Copper mode initialization */
        if (phydev->interface == PHY_INTERFACE_MODE_SGMII) {
                /* Select page 18 */
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 18);
+               err = marvell_set_page(phydev, 18);
                if (err < 0)
                        return err;
 
                        return err;
 
                /* Reset page selection */
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0);
+               err = marvell_set_page(phydev, 0);
                if (err < 0)
                        return err;
        }
        int err;
 
        /* Change address */
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x0002);
+       err = marvell_set_page(phydev, 2);
        if (err < 0)
                return err;
 
                return err;
 
        /* Change address */
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x0003);
+       err = marvell_set_page(phydev, 3);
        if (err < 0)
                return err;
 
                return err;
 
        /* Reset address */
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x0);
+       err = marvell_set_page(phydev, 0);
        if (err < 0)
                return err;
 
        int err;
 
        /* Change address */
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x0002);
+       err = marvell_set_page(phydev, 2);
        if (err < 0)
                return err;
 
                return err;
 
        /* Reset address */
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x0);
+       err = marvell_set_page(phydev, 0);
        if (err < 0)
                return err;
 
        /* Check the fiber mode first */
        if (phydev->supported & SUPPORTED_FIBRE &&
            phydev->interface != PHY_INTERFACE_MODE_SGMII) {
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_FIBER);
+               err = marvell_set_page(phydev, MII_M1111_FIBER);
                if (err < 0)
                        goto error;
 
                        return 0;
 
                /* If fiber link is down, check and save copper mode state */
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+               err = marvell_set_page(phydev, MII_M1111_COPPER);
                if (err < 0)
                        goto error;
        }
        return marvell_read_status_page(phydev, MII_M1111_COPPER);
 
 error:
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+       marvell_set_page(phydev, MII_M1111_COPPER);
        return err;
 }
 
 
        /* Suspend the fiber mode first */
        if (!(phydev->supported & SUPPORTED_FIBRE)) {
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_FIBER);
+               err = marvell_set_page(phydev, MII_M1111_FIBER);
                if (err < 0)
                        goto error;
 
                        goto error;
 
                /* Then, the copper link */
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+               err = marvell_set_page(phydev, MII_M1111_COPPER);
                if (err < 0)
                        goto error;
        }
        return genphy_suspend(phydev);
 
 error:
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+       marvell_set_page(phydev, MII_M1111_COPPER);
        return err;
 }
 
 
        /* Resume the fiber mode first */
        if (!(phydev->supported & SUPPORTED_FIBRE)) {
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_FIBER);
+               err = marvell_set_page(phydev, MII_M1111_FIBER);
                if (err < 0)
                        goto error;
 
                        goto error;
 
                /* Then, the copper link */
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+               err = marvell_set_page(phydev, MII_M1111_COPPER);
                if (err < 0)
                        goto error;
        }
        return genphy_resume(phydev);
 
 error:
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, MII_M1111_COPPER);
+       marvell_set_page(phydev, MII_M1111_COPPER);
        return err;
 }
 
        wol->supported = WAKE_MAGIC;
        wol->wolopts = 0;
 
-       if (phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                     MII_88E1318S_PHY_WOL_PAGE) < 0)
+       if (marvell_set_page(phydev, MII_88E1318S_PHY_WOL_PAGE) < 0)
                return;
 
        if (phy_read(phydev, MII_88E1318S_PHY_WOL_CTRL) &
            MII_88E1318S_PHY_WOL_CTRL_MAGIC_PACKET_MATCH_ENABLE)
                wol->wolopts |= WAKE_MAGIC;
 
-       if (phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x00) < 0)
+       if (marvell_set_page(phydev, 0x00) < 0)
                return;
 }
 
 {
        int err, oldpage, temp;
 
-       oldpage = phy_read(phydev, MII_MARVELL_PHY_PAGE);
+       oldpage = marvell_get_page(phydev);
 
        if (wol->wolopts & WAKE_MAGIC) {
                /* Explicitly switch to page 0x00, just to be sure */
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0x00);
+               err = marvell_set_page(phydev, 0x00);
                if (err < 0)
                        return err;
 
                if (err < 0)
                        return err;
 
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                               MII_88E1318S_PHY_LED_PAGE);
+               err = marvell_set_page(phydev, MII_88E1318S_PHY_LED_PAGE);
                if (err < 0)
                        return err;
 
                if (err < 0)
                        return err;
 
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                               MII_88E1318S_PHY_WOL_PAGE);
+               err = marvell_set_page(phydev, MII_88E1318S_PHY_WOL_PAGE);
                if (err < 0)
                        return err;
 
                if (err < 0)
                        return err;
        } else {
-               err = phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                               MII_88E1318S_PHY_WOL_PAGE);
+               err = marvell_set_page(phydev, MII_88E1318S_PHY_WOL_PAGE);
                if (err < 0)
                        return err;
 
                        return err;
        }
 
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE, oldpage);
+       err = marvell_set_page(phydev, oldpage);
        if (err < 0)
                return err;
 
        int err, oldpage, val;
        u64 ret;
 
-       oldpage = phy_read(phydev, MII_MARVELL_PHY_PAGE);
-       err = phy_write(phydev, MII_MARVELL_PHY_PAGE,
-                       stat.page);
+       oldpage = marvell_get_page(phydev);
+       err = marvell_set_page(phydev, stat.page);
        if (err < 0)
                return UINT64_MAX;
 
                ret = priv->stats[i];
        }
 
-       phy_write(phydev, MII_MARVELL_PHY_PAGE, oldpage);
+       marvell_set_page(phydev, oldpage);
 
        return ret;
 }