| Date | Fri, 27 Jan 2023 11:33:28 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH v2 06/11] driver core: fw_devlink: Allow marking a fwnode link as being part of a cycle |
| |
On Thu, Jan 26, 2023 at 04:11:33PM -0800, Saravana Kannan wrote: > To improve detection and handling of dependency cycles, we need to be > able to mark fwnode links as being part of cycles. fwnode links marked > as being part of a cycle should not block their consumers from probing.
...
> + list_for_each_entry(link, &fwnode->suppliers, c_hook) { > + if (link->flags & FWLINK_FLAG_CYCLE) > + continue; > + return link->supplier;
Hmm...
if (!(link->flags & FWLINK_FLAG_CYCLE)) return link->supplier;
?
> + } > + > + return NULL;
...
> - if (dev->fwnode && !list_empty(&dev->fwnode->suppliers) && > - !fw_devlink_is_permissive()) { > - sup_fw = list_first_entry(&dev->fwnode->suppliers, > - struct fwnode_link, > - c_hook)->supplier; > + sup_fw = fwnode_links_check_suppliers(dev->fwnode);
dev_fwnode() ?
...
> - val = !list_empty(&dev->fwnode->suppliers); > + mutex_lock(&fwnode_link_lock); > + val = !!fwnode_links_check_suppliers(dev->fwnode);
Ditto?
> + mutex_unlock(&fwnode_link_lock);
-- With Best Regards, Andy Shevchenko
|