static int zynqmp_ipi_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct device_node *nc, *np = pdev->dev.of_node;
+ struct device_node *np = pdev->dev.of_node;
struct zynqmp_ipi_pdata *pdata;
struct of_phandle_args out_irq;
struct zynqmp_ipi_mbox *mbox;
pdata->num_mboxes = num_mboxes;
mbox = pdata->ipi_mboxes;
- for_each_available_child_of_node(np, nc) {
+ for_each_available_child_of_node_scoped(np, nc) {
mbox->pdata = pdata;
mbox->setup_ipi_fn = ipi_fn;
ret = zynqmp_ipi_mbox_probe(mbox, nc);
if (ret) {
- of_node_put(nc);
dev_err(dev, "failed to probe subdev.\n");
ret = -EINVAL;
goto free_mbox_dev;