net: ethernet: cpsw: Search childs for slave nodes
The current implementation searches the whole DT for nodes named "slave". This patch changes it to search only child nodes for slaves. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Acked-by: Mugunthan V N <mugunthanvnm@ti.com> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
d45ed4a4e3
commit
f468b10e3d
@@ -1782,7 +1782,7 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
|
|||||||
if (ret)
|
if (ret)
|
||||||
pr_warn("Doesn't have any child node\n");
|
pr_warn("Doesn't have any child node\n");
|
||||||
|
|
||||||
for_each_node_by_name(slave_node, "slave") {
|
for_each_child_of_node(node, slave_node) {
|
||||||
struct cpsw_slave_data *slave_data = data->slave_data + i;
|
struct cpsw_slave_data *slave_data = data->slave_data + i;
|
||||||
const void *mac_addr = NULL;
|
const void *mac_addr = NULL;
|
||||||
u32 phyid;
|
u32 phyid;
|
||||||
@@ -1791,6 +1791,10 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
|
|||||||
struct device_node *mdio_node;
|
struct device_node *mdio_node;
|
||||||
struct platform_device *mdio;
|
struct platform_device *mdio;
|
||||||
|
|
||||||
|
/* This is no slave child node, continue */
|
||||||
|
if (strcmp(slave_node->name, "slave"))
|
||||||
|
continue;
|
||||||
|
|
||||||
parp = of_get_property(slave_node, "phy_id", &lenp);
|
parp = of_get_property(slave_node, "phy_id", &lenp);
|
||||||
if ((parp == NULL) || (lenp != (sizeof(void *) * 2))) {
|
if ((parp == NULL) || (lenp != (sizeof(void *) * 2))) {
|
||||||
pr_err("Missing slave[%d] phy_id property\n", i);
|
pr_err("Missing slave[%d] phy_id property\n", i);
|
||||||
|
Reference in New Issue
Block a user