This patch integrates read/write page helper functions as MTK phy lib.
They are basically the same in mtk-ge.c & mtk-ge-soc.c.
Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
 config MEDIATEK_GE_PHY
        tristate "MediaTek Gigabit Ethernet PHYs"
+       select MTK_NET_PHYLIB
        help
          Supports the MediaTek non-built-in Gigabit Ethernet PHYs.
 
 
        struct mtk_socphy_priv  priv[4];
 };
 
-static int mtk_socphy_read_page(struct phy_device *phydev)
-{
-       return __phy_read(phydev, MTK_EXT_PAGE_ACCESS);
-}
-
-static int mtk_socphy_write_page(struct phy_device *phydev, int page)
-{
-       return __phy_write(phydev, MTK_EXT_PAGE_ACCESS, page);
-}
-
 /* One calibration cycle consists of:
  * 1.Set DA_CALIN_FLAG high to start calibration. Keep it high
  *   until AD_CAL_COMP is ready to output calibration result.
                .probe          = mt7981_phy_probe,
                .suspend        = genphy_suspend,
                .resume         = genphy_resume,
-               .read_page      = mtk_socphy_read_page,
-               .write_page     = mtk_socphy_write_page,
+               .read_page      = mtk_phy_read_page,
+               .write_page     = mtk_phy_write_page,
                .led_blink_set  = mt798x_phy_led_blink_set,
                .led_brightness_set = mt798x_phy_led_brightness_set,
                .led_hw_is_supported = mt798x_phy_led_hw_is_supported,
                .probe          = mt7988_phy_probe,
                .suspend        = genphy_suspend,
                .resume         = genphy_resume,
-               .read_page      = mtk_socphy_read_page,
-               .write_page     = mtk_socphy_write_page,
+               .read_page      = mtk_phy_read_page,
+               .write_page     = mtk_phy_write_page,
                .led_blink_set  = mt798x_phy_led_blink_set,
                .led_brightness_set = mt798x_phy_led_brightness_set,
                .led_hw_is_supported = mt798x_phy_led_hw_is_supported,
 
 #include <linux/module.h>
 #include <linux/phy.h>
 
+#include "mtk.h"
+
 #define MTK_EXT_PAGE_ACCESS            0x1f
 #define MTK_PHY_PAGE_STANDARD          0x0000
 #define MTK_PHY_PAGE_EXTENDED          0x0001
 #define MTK_PHY_PAGE_EXTENDED_2A30     0x2a30
 #define MTK_PHY_PAGE_EXTENDED_52B5     0x52b5
 
-static int mtk_gephy_read_page(struct phy_device *phydev)
-{
-       return __phy_read(phydev, MTK_EXT_PAGE_ACCESS);
-}
-
-static int mtk_gephy_write_page(struct phy_device *phydev, int page)
-{
-       return __phy_write(phydev, MTK_EXT_PAGE_ACCESS, page);
-}
-
 static void mtk_gephy_config_init(struct phy_device *phydev)
 {
        /* Enable HW auto downshift */
                .handle_interrupt = genphy_handle_interrupt_no_ack,
                .suspend        = genphy_suspend,
                .resume         = genphy_resume,
-               .read_page      = mtk_gephy_read_page,
-               .write_page     = mtk_gephy_write_page,
+               .read_page      = mtk_phy_read_page,
+               .write_page     = mtk_phy_write_page,
        },
        {
                PHY_ID_MATCH_EXACT(0x03a29441),
                .handle_interrupt = genphy_handle_interrupt_no_ack,
                .suspend        = genphy_suspend,
                .resume         = genphy_resume,
-               .read_page      = mtk_gephy_read_page,
-               .write_page     = mtk_gephy_write_page,
+               .read_page      = mtk_phy_read_page,
+               .write_page     = mtk_phy_write_page,
        },
 };
 
 
 
 #include "mtk.h"
 
+int mtk_phy_read_page(struct phy_device *phydev)
+{
+       return __phy_read(phydev, MTK_EXT_PAGE_ACCESS);
+}
+EXPORT_SYMBOL_GPL(mtk_phy_read_page);
+
+int mtk_phy_write_page(struct phy_device *phydev, int page)
+{
+       return __phy_write(phydev, MTK_EXT_PAGE_ACCESS, page);
+}
+EXPORT_SYMBOL_GPL(mtk_phy_write_page);
+
 int mtk_phy_led_hw_is_supported(struct phy_device *phydev, u8 index,
                                unsigned long rules,
                                unsigned long supported_triggers)
 
        unsigned long           led_state;
 };
 
+int mtk_phy_read_page(struct phy_device *phydev);
+int mtk_phy_write_page(struct phy_device *phydev, int page);
+
 int mtk_phy_led_hw_is_supported(struct phy_device *phydev, u8 index,
                                unsigned long rules,
                                unsigned long supported_triggers);