mirror of https://github.com/hak5/openwrt.git
ath79: ag71xx: register mdio using of_platform_populate
remove the hacky checking of "simple-mfd" compatible also add some comments explaining that piece of code. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>openwrt-19.07
parent
f92bbdcc93
commit
596a5325cd
|
@ -1321,7 +1321,6 @@ static const struct net_device_ops ag71xx_netdev_ops = {
|
|||
static int ag71xx_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
struct device_node *mdio_node;
|
||||
struct net_device *dev;
|
||||
struct resource *res;
|
||||
struct ag71xx *ag;
|
||||
|
@ -1500,10 +1499,18 @@ static int ag71xx_probe(struct platform_device *pdev)
|
|||
|
||||
ag71xx_dump_regs(ag);
|
||||
|
||||
if (!of_device_is_compatible(np, "simple-mfd")) {
|
||||
mdio_node = of_get_child_by_name(np, "mdio-bus");
|
||||
if (!IS_ERR(mdio_node))
|
||||
of_platform_device_create(mdio_node, NULL, NULL);
|
||||
/*
|
||||
* populate current node to register mdio-bus as a subdevice.
|
||||
* the mdio bus works independently on ar7241 and later chips
|
||||
* and we need to load mdio1 before gmac0, which can be done
|
||||
* by adding a "simple-mfd" compatible to gmac node. The
|
||||
* following code checks OF_POPULATED_BUS flag before populating
|
||||
* to avoid duplicated population.
|
||||
*/
|
||||
if (!of_node_check_flag(np, OF_POPULATED_BUS)) {
|
||||
err = of_platform_populate(np, NULL, NULL, &pdev->dev);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
err = ag71xx_phy_connect(ag);
|
||||
|
|
Loading…
Reference in New Issue