ag71xx_mdio_wr(am, AG71XX_REG_MII_CFG, t);
udelay(100);
+ if (am->pdata->reset)
+ am->pdata->reset(bus);
+
return 0;
}
return 0;
}
-static int __devinit ag71xx_mdio_probe(struct platform_device *pdev)
+static int ag71xx_mdio_probe(struct platform_device *pdev)
{
struct ag71xx_mdio_platform_data *pdata;
struct ag71xx_mdio *am;
if (!res) {
dev_err(&pdev->dev, "no iomem resource found\n");
err = -ENXIO;
- goto err_out;
+ goto err_free_mdio;
}
am->mdio_base = ioremap_nocache(res->start, res->end - res->start + 1);
return err;
}
-static int __devexit ag71xx_mdio_remove(struct platform_device *pdev)
+static int ag71xx_mdio_remove(struct platform_device *pdev)
{
struct ag71xx_mdio *am = platform_get_drvdata(pdev);
static struct platform_driver ag71xx_mdio_driver = {
.probe = ag71xx_mdio_probe,
- .remove = __exit_p(ag71xx_mdio_remove),
+ .remove = ag71xx_mdio_remove,
.driver = {
.name = "ag71xx-mdio",
}