mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 10:43:43 +00:00
net: mvpp2: use device_for_each_child_node() to access device child nodes
The iterated nodes are direct children of the device node, and the `device_for_each_child_node()` macro accounts for child node availability. `fwnode_for_each_available_child_node()` is meant to access the child nodes of an fwnode, and therefore not direct child nodes of the device node. The child nodes within mvpp2_probe are not accessed outside the loops, and the scoped version of the macro can be used to automatically decrement the refcount on early exits. Use `device_for_each_child_node()` and its scoped variant to indicate device's direct child nodes. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e81d00a6b3
commit
a7b3274447
@ -7417,8 +7417,6 @@ static int mvpp2_get_sram(struct platform_device *pdev,
|
||||
|
||||
static int mvpp2_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct fwnode_handle *fwnode = pdev->dev.fwnode;
|
||||
struct fwnode_handle *port_fwnode;
|
||||
struct mvpp2 *priv;
|
||||
struct resource *res;
|
||||
void __iomem *base;
|
||||
@ -7591,7 +7589,7 @@ static int mvpp2_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/* Map DTS-active ports. Should be done before FIFO mvpp2_init */
|
||||
fwnode_for_each_available_child_node(fwnode, port_fwnode) {
|
||||
device_for_each_child_node_scoped(&pdev->dev, port_fwnode) {
|
||||
if (!fwnode_property_read_u32(port_fwnode, "port-id", &i))
|
||||
priv->port_map |= BIT(i);
|
||||
}
|
||||
@ -7614,7 +7612,7 @@ static int mvpp2_probe(struct platform_device *pdev)
|
||||
goto err_axi_clk;
|
||||
|
||||
/* Initialize ports */
|
||||
fwnode_for_each_available_child_node(fwnode, port_fwnode) {
|
||||
device_for_each_child_node_scoped(&pdev->dev, port_fwnode) {
|
||||
err = mvpp2_port_probe(pdev, port_fwnode, priv);
|
||||
if (err < 0)
|
||||
goto err_port_probe;
|
||||
@ -7653,8 +7651,6 @@ static int mvpp2_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
|
||||
err_port_probe:
|
||||
fwnode_handle_put(port_fwnode);
|
||||
|
||||
for (i = 0; i < priv->port_count; i++)
|
||||
mvpp2_port_remove(priv->port_list[i]);
|
||||
err_axi_clk:
|
||||
|
Loading…
Reference in New Issue
Block a user