static int ag71xx_phy_connect_fixed(struct ag71xx *ag)
{
- struct device *dev = &ag->pdev->dev;
+ struct platform_device *pdev = ag->pdev;
+ struct device *dev = NULL;
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
int ret = 0;
+ if (!pdev)
+ return -ENODEV;
+
+ dev = &pdev->dev;
+
+ if (!dev)
+ return -ENODEV;
+
+ if (!ag->phy_dev) {
+ pr_err("Missing PHY for %s", dev_name(dev));
+ return -ENODEV;
+ }
+
/* use fixed settings */
switch (pdata->speed) {
case SPEED_10:
ag->duplex = pdata->duplex;
ag->speed = pdata->speed;
- if (!ret) {
- dev_info(dev, "connected to fixed PHY at %s [uid=%08x, driver=%s]\n",
- phydev_name(ag->phy_dev),
- ag->phy_dev->phy_id, ag->phy_dev->drv->name);
- } else {
- pr_err("Failed to connect to fixed PHY\n");
- }
return ret;
}
DBG("%s: PHY found at %s, uid=%08x\n",
dev_name(dev),
dev_name(&ag->mii_bus->phy_map[phy_addr]->dev),
- &ag->mii_bus->phy_map[phy_addr]->phy_id),
- &ag->mii_bus->phy_map[phy_addr]->phy_id : 0);
+ ag->mii_bus->phy_map[phy_addr]->phy_id);
if (phydev == NULL)
phydev = ag->mii_bus->phy_map[phy_addr];
DBG("%s: PHY found at %s, uid=%08x\n",
dev_name(dev),
dev_name(&ag->mii_bus->mdio_map[phy_addr]->dev),
- mdiobus_get_phy(ag->mii_bus, phy_addr) ?
- mdiobus_get_phy(ag->mii_bus, phy_addr)->phy_id : 0);
+ ag->mii_bus->mdio_map[phy_addr]->phy_id);
if (phydev == NULL)
phydev = mdiobus_get_phy(ag->mii_bus, phy_addr);