#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/phy.h>
#define UPD60620_PHY_ID …
#define PHY_PHYSCR …
#define PHY_PHYSCR_10MB …
#define PHY_PHYSCR_100MB …
#define PHY_PHYSCR_DUPLEX …
#define PHY_SPM …
static int upd60620_config_init(struct phy_device *phydev)
{ … }
static int upd60620_read_status(struct phy_device *phydev)
{ … }
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
static struct phy_driver upd60620_driver[1] = …;
module_phy_driver(upd60620_driver);
static struct mdio_device_id __maybe_unused upd60620_tbl[] = …;
MODULE_DEVICE_TABLE(mdio, upd60620_tbl);