#include <linux/bitfield.h>
#include <linux/module.h>
#include <linux/phy.h>
#define MTK_EXT_PAGE_ACCESS …
#define MTK_PHY_PAGE_STANDARD …
#define MTK_PHY_PAGE_EXTENDED …
#define MTK_PHY_PAGE_EXTENDED_2 …
#define MTK_PHY_PAGE_EXTENDED_3 …
#define MTK_PHY_PAGE_EXTENDED_2A30 …
#define MTK_PHY_PAGE_EXTENDED_52B5 …
static int mtk_gephy_read_page(struct phy_device *phydev)
{ … }
static int mtk_gephy_write_page(struct phy_device *phydev, int page)
{ … }
static void mtk_gephy_config_init(struct phy_device *phydev)
{ … }
static int mt7530_phy_config_init(struct phy_device *phydev)
{ … }
static int mt7531_phy_config_init(struct phy_device *phydev)
{ … }
static struct phy_driver mtk_gephy_driver[] = …;
module_phy_driver(mtk_gephy_driver);
static struct mdio_device_id __maybe_unused mtk_gephy_tbl[] = …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(mdio, mtk_gephy_tbl);