int stm32_firewall_populate_bus(struct stm32_firewall_controller *firewall_controller)
{
struct stm32_firewall *firewalls;
- struct device_node *child;
struct device *parent;
unsigned int i;
int len;
dev_dbg(parent, "Populating %s system bus\n", dev_name(firewall_controller->dev));
- for_each_available_child_of_node(dev_of_node(parent), child) {
+ for_each_available_child_of_node_scoped(dev_of_node(parent), child) {
/* The access-controllers property is mandatory for firewall bus devices */
len = of_count_phandle_with_args(child, "access-controllers",
"#access-controller-cells");
- if (len <= 0) {
- of_node_put(child);
+ if (len <= 0)
return -EINVAL;
- }
firewalls = kzalloc_objs(*firewalls, len);
- if (!firewalls) {
- of_node_put(child);
+ if (!firewalls)
return -ENOMEM;
- }
err = stm32_firewall_get_firewall(child, firewalls, (unsigned int)len);
if (err) {
kfree(firewalls);
- of_node_put(child);
return err;
}