From: Andy Shevchenko Date: Thu, 23 Mar 2023 18:26:40 +0000 (+0200) Subject: driver core: Add a comment to set_primary_fwnode() on nullifying X-Git-Tag: v6.6.7~2982^2~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2f9e87f5a2941b259336c7ea6c5a1499ede4554a;p=platform%2Fkernel%2Flinux-starfive.git driver core: Add a comment to set_primary_fwnode() on nullifying Explain what parent && fn == parent->fwnode conditional does. With this refactor the code a bit. Signed-off-by: Andy Shevchenko Link: https://lore.kernel.org/r/20230323182640.61085-1-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/base/core.c b/drivers/base/core.c index f1889b9..b59692a4 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -4982,9 +4982,13 @@ void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode) } else { if (fwnode_is_primary(fn)) { dev->fwnode = fn->secondary; + + /* Skip nullifying fn->secondary if the primary is shared */ + if (parent && fn == parent->fwnode) + return; + /* Set fn->secondary = NULL, so fn remains the primary fwnode */ - if (!(parent && fn == parent->fwnode)) - fn->secondary = NULL; + fn->secondary = NULL; } else { dev->fwnode = NULL; }