Checked the marvell10g.c in kernel code, marvell driver is not a single module but loaded in module_phy_driver as below, so no need adding MODULE_INIT & MODULE_EXIT, two macros.
module_phy_driver(mv3310_drivers);
Another issue, text did not displayed in printk(). Please make sure you do right modification of device tree refer to this structure defined in marvell10g.c
static struct phy_driver mv3310_drivers[] = {
{
.phy_id = MARVELL_PHY_ID_88X3310,
.phy_id_mask = MARVELL_PHY_ID_MASK,
.match_phy_device = mv3310_match_phy_device,
.name = "mv88x3310",
.driver_data = &mv3310_type,
.get_features = mv3310_get_features,
.config_init = mv3310_config_init,
.probe = mv3310_probe,
Also please compared with the aquantia PHY code in kernel. What's more, please share your change in device tree, we can check it on my side.