PHY_INTERFACE_MODE_MII);
if (!phydev)
- return -ENODEV;
+ return -EPROBE_DEFER;
return 0;
}
.remove = octeon_mgmt_remove,
};
-extern void octeon_mdiobus_force_mod_depencency(void);
-
static int __init octeon_mgmt_mod_init(void)
{
- /* Force our mdiobus driver module to be loaded first. */
- octeon_mdiobus_force_mod_depencency();
return platform_driver_register(&octeon_mgmt_driver);
}
module_init(octeon_mgmt_mod_init);
module_exit(octeon_mgmt_mod_exit);
+MODULE_SOFTDEP("pre: mdio-cavium");
MODULE_DESCRIPTION(DRV_DESCRIPTION);
MODULE_AUTHOR("David Daney");
MODULE_LICENSE("GPL");
.remove = octeon_mdiobus_remove,
};
-void octeon_mdiobus_force_mod_depencency(void)
-{
- /* Let ethernet drivers force us to be loaded. */
-}
-EXPORT_SYMBOL(octeon_mdiobus_force_mod_depencency);
-
module_platform_driver(octeon_mdiobus_driver);
MODULE_DESCRIPTION("Cavium OCTEON MDIO bus driver");
of_node_put(phy_node);
if (!phydev)
- return -ENODEV;
+ return -EPROBE_DEFER;
priv->last_link = 0;
phy_start(phydev);
extern const struct ethtool_ops cvm_oct_ethtool_ops;
-void octeon_mdiobus_force_mod_depencency(void);
-
int cvm_oct_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
int cvm_oct_phy_setup_device(struct net_device *dev);
mtu_overhead += VLAN_HLEN;
#endif
- octeon_mdiobus_force_mod_depencency();
-
pip = pdev->dev.of_node;
if (!pip) {
pr_err("Error: No 'pip' in /aliases\n");
module_platform_driver(cvm_oct_driver);
+MODULE_SOFTDEP("pre: mdio-cavium");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Cavium Networks <support@caviumnetworks.com>");
MODULE_DESCRIPTION("Cavium Networks Octeon ethernet driver.");