#include <linux/phy.h>
#include <linux/module.h>
#include "qcom.h"
#define AT803X_DEBUG_REG_3C …
#define AT803X_DEBUG_REG_GREEN …
#define AT803X_DEBUG_GATE_CLK_IN1000 …
#define MDIO_AZ_DEBUG …
#define QCA8327_A_PHY_ID …
#define QCA8327_B_PHY_ID …
#define QCA8337_PHY_ID …
#define QCA8K_PHY_ID_MASK …
#define QCA8K_DEVFLAGS_REVISION_MASK …
static struct at803x_hw_stat qca83xx_hw_stats[] = …;
struct qca83xx_priv { … };
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
static int qca83xx_get_sset_count(struct phy_device *phydev)
{ … }
static void qca83xx_get_strings(struct phy_device *phydev, u8 *data)
{ … }
static u64 qca83xx_get_stat(struct phy_device *phydev, int i)
{ … }
static void qca83xx_get_stats(struct phy_device *phydev,
struct ethtool_stats *stats, u64 *data)
{ … }
static int qca83xx_probe(struct phy_device *phydev)
{ … }
static int qca83xx_config_init(struct phy_device *phydev)
{ … }
static int qca8327_config_init(struct phy_device *phydev)
{ … }
static void qca83xx_link_change_notify(struct phy_device *phydev)
{ … }
static int qca83xx_resume(struct phy_device *phydev)
{ … }
static int qca83xx_suspend(struct phy_device *phydev)
{ … }
static int qca8337_suspend(struct phy_device *phydev)
{ … }
static int qca8327_suspend(struct phy_device *phydev)
{ … }
static struct phy_driver qca83xx_driver[] = …;
module_phy_driver(qca83xx_driver);
static struct mdio_device_id __maybe_unused qca83xx_tbl[] = …;
MODULE_DEVICE_TABLE(mdio, qca83xx_tbl);