|
@@ -1590,13 +1590,13 @@ static int init_phy(struct net_device *dev)
|
|
|
priv->oldspeed = 0;
|
|
|
priv->oldduplex = -1;
|
|
|
|
|
|
- if (!ug_info->phy_node)
|
|
|
- return 0;
|
|
|
-
|
|
|
phydev = of_phy_connect(dev, ug_info->phy_node, &adjust_link, 0,
|
|
|
priv->phy_interface);
|
|
|
+ if (!phydev)
|
|
|
+ phydev = of_phy_connect_fixed_link(dev, &adjust_link,
|
|
|
+ priv->phy_interface);
|
|
|
if (!phydev) {
|
|
|
- printk("%s: Could not attach to PHY\n", dev->name);
|
|
|
+ dev_err(&dev->dev, "Could not attach to PHY\n");
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
|
|
@@ -3608,9 +3608,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
|
|
|
struct ucc_geth_private *ugeth = NULL;
|
|
|
struct ucc_geth_info *ug_info;
|
|
|
struct resource res;
|
|
|
- struct device_node *phy;
|
|
|
int err, ucc_num, max_speed = 0;
|
|
|
- const u32 *fixed_link;
|
|
|
const unsigned int *prop;
|
|
|
const char *sprop;
|
|
|
const void *mac_addr;
|
|
@@ -3708,15 +3706,8 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
|
|
|
|
|
|
ug_info->uf_info.regs = res.start;
|
|
|
ug_info->uf_info.irq = irq_of_parse_and_map(np, 0);
|
|
|
- fixed_link = of_get_property(np, "fixed-link", NULL);
|
|
|
- if (fixed_link) {
|
|
|
- phy = NULL;
|
|
|
- } else {
|
|
|
- phy = of_parse_phandle(np, "phy-handle", 0);
|
|
|
- if (phy == NULL)
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
- ug_info->phy_node = phy;
|
|
|
+
|
|
|
+ ug_info->phy_node = of_parse_phandle(np, "phy-handle", 0);
|
|
|
|
|
|
/* Find the TBI PHY node. If it's not there, we don't support SGMII */
|
|
|
ug_info->tbi_node = of_parse_phandle(np, "tbi-handle", 0);
|
|
@@ -3725,7 +3716,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
|
|
|
prop = of_get_property(np, "phy-connection-type", NULL);
|
|
|
if (!prop) {
|
|
|
/* handle interface property present in old trees */
|
|
|
- prop = of_get_property(phy, "interface", NULL);
|
|
|
+ prop = of_get_property(ug_info->phy_node, "interface", NULL);
|
|
|
if (prop != NULL) {
|
|
|
phy_interface = enet_to_phy_interface[*prop];
|
|
|
max_speed = enet_to_speed[*prop];
|