#include <linux/bitfield.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/phy.h>
#define DP83TG720S_PHY_ID …
#define DP83TG720S_MII_REG_10 …
#define DP83TG720S_STS_MII_INT …
#define DP83TG720S_LINK_STATUS …
#define DP83TG720S_PHY_RESET …
#define DP83TG720S_HW_RESET …
#define DP83TG720S_LPS_CFG3 …
#define DP83TG720S_LPS_CFG3_PWR_MODE_0 …
#define DP83TG720S_RGMII_DELAY_CTRL …
#define DP83TG720S_RGMII_RX_CLK_SEL …
#define DP83TG720S_RGMII_TX_CLK_SEL …
#define DP83TG720S_SQI_REG_1 …
#define DP83TG720S_SQI_OUT_WORST …
#define DP83TG720S_SQI_OUT …
#define DP83TG720_SQI_MAX …
static int dp83tg720_config_aneg(struct phy_device *phydev)
{ … }
static int dp83tg720_read_status(struct phy_device *phydev)
{ … }
static int dp83tg720_get_sqi(struct phy_device *phydev)
{ … }
static int dp83tg720_get_sqi_max(struct phy_device *phydev)
{ … }
static int dp83tg720_config_rgmii_delay(struct phy_device *phydev)
{ … }
static int dp83tg720_config_init(struct phy_device *phydev)
{ … }
static struct phy_driver dp83tg720_driver[] = …;
module_phy_driver(dp83tg720_driver);
static struct mdio_device_id __maybe_unused dp83tg720_tbl[] = …;
MODULE_DEVICE_TABLE(mdio, dp83tg720_tbl);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;