Hey,
On Tue, 28 Sep 2021, Takashi Iwai wrote:
On Wed, 22 Sep 2021 10:54:32 +0200, Kai Vehmanen wrote:
--- a/drivers/base/component.c +++ b/drivers/base/component.c @@ -246,7 +246,7 @@ static int try_to_bring_up_master(struct master *master, return 0; }
- if (!devres_open_group(master->parent, NULL, GFP_KERNEL))
if (!devres_open_group(master->parent, master, GFP_KERNEL)) return -ENOMEM;
/* Found all components */
@@ -258,6 +258,7 @@ static int try_to_bring_up_master(struct master *master, return ret; }
- devres_close_group(master->parent, NULL);
Just wondering whether we should pass master here instead of NULL, too?
I wondered about this as well. Functionally it should be equivalent as passing NULL will apply the operation to the latest added group. I noted the practise of passing NULL has been followed in the existing code when referring to groups created within the same function. E.g.
» if (!devres_open_group(component->dev, component, GFP_KERNEL)) { [...] » ret = component->ops->bind(component->dev, master->parent, data); » if (!ret) { » » component->bound = true;
» » /* » » * Close the component device's group so that resources » » * allocated in the binding are encapsulated for removal » » * at unbind. Remove the group on the DRM device as we » » * can clean those resources up independently. » » */ » » devres_close_group(component->dev, NULL);
... so I followed this existing practise. I can change and send a V3 if the explicit parameter is preferred.
Br, Kai