[v1,1/1] driver core: Add a comment to set_primary_fwnode() on nullifying

Message ID 20230323182640.61085-1-andriy.shevchenko@linux.intel.com
State New
Headers
Series [v1,1/1] driver core: Add a comment to set_primary_fwnode() on nullifying |

Commit Message

Andy Shevchenko March 23, 2023, 6:26 p.m. UTC
  Explain what parent && fn == parent->fwnode conditional does.
With this refactor the code a bit.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/base/core.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
  

Patch

diff --git a/drivers/base/core.c b/drivers/base/core.c
index f1889b9cab45..b59692a4d809 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;
 		}