--- /dev/null
+From 1ac17586c950a2c129393f8a92901a2b357acf24 Mon Sep 17 00:00:00 2001
+From: Frank Rowand <frank.rowand@sony.com>
+Date: Mon, 2 May 2022 13:17:40 -0500
+Subject: of: overlay: add entry to of_overlay_action_name[]
+
+From: Frank Rowand <frank.rowand@sony.com>
+
+commit 1ac17586c950a2c129393f8a92901a2b357acf24 upstream.
+
+The values of enum of_overlay_notify_action are used to index into
+array of_overlay_action_name. Add an entry to of_overlay_action_name
+for the value recently added to of_overlay_notify_action.
+
+Array of_overlay_action_name[] is moved into include/linux/of.h
+adjacent to enum of_overlay_notify_action to make the connection
+between the two more obvious if either is modified in the future.
+
+The only use of of_overlay_action_name is for error reporting in
+overlay_notify(). All callers of overlay_notify() report the same
+error, but with fewer details. Remove the redundant error reports
+in the callers.
+
+Fixes: 067c098766c6 ("of: overlay: rework overlay apply and remove kfree()s")
+Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
+Signed-off-by: Frank Rowand <frank.rowand@sony.com>
+Signed-off-by: Rob Herring <robh@kernel.org>
+Link: https://lore.kernel.org/r/20220502181742.1402826-2-frowand.list@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/of/overlay.c | 27 +++++----------------------
+ include/linux/of.h | 13 +++++++++++++
+ 2 files changed, 18 insertions(+), 22 deletions(-)
+
+--- a/drivers/of/overlay.c
++++ b/drivers/of/overlay.c
+@@ -152,13 +152,6 @@ int of_overlay_notifier_unregister(struc
+ }
+ EXPORT_SYMBOL_GPL(of_overlay_notifier_unregister);
+
+-static char *of_overlay_action_name[] = {
+- "pre-apply",
+- "post-apply",
+- "pre-remove",
+- "post-remove",
+-};
+-
+ static int overlay_notify(struct overlay_changeset *ovcs,
+ enum of_overlay_notify_action action)
+ {
+@@ -178,7 +171,7 @@ static int overlay_notify(struct overlay
+ if (notifier_to_errno(ret)) {
+ ret = notifier_to_errno(ret);
+ pr_err("overlay changeset %s notifier error %d, target: %pOF\n",
+- of_overlay_action_name[action], ret, nd.target);
++ of_overlay_action_name(action), ret, nd.target);
+ return ret;
+ }
+ }
+@@ -926,10 +919,8 @@ static int of_overlay_apply(struct overl
+ goto out;
+
+ ret = overlay_notify(ovcs, OF_OVERLAY_PRE_APPLY);
+- if (ret) {
+- pr_err("overlay changeset pre-apply notify error %d\n", ret);
++ if (ret)
+ goto out;
+- }
+
+ ret = build_changeset(ovcs);
+ if (ret)
+@@ -952,12 +943,9 @@ static int of_overlay_apply(struct overl
+ /* notify failure is not fatal, continue */
+
+ ret_tmp = overlay_notify(ovcs, OF_OVERLAY_POST_APPLY);
+- if (ret_tmp) {
+- pr_err("overlay changeset post-apply notify error %d\n",
+- ret_tmp);
++ if (ret_tmp)
+ if (!ret)
+ ret = ret_tmp;
+- }
+
+ out:
+ pr_debug("%s() err=%d\n", __func__, ret);
+@@ -1193,10 +1181,8 @@ int of_overlay_remove(int *ovcs_id)
+ }
+
+ ret = overlay_notify(ovcs, OF_OVERLAY_PRE_REMOVE);
+- if (ret) {
+- pr_err("overlay changeset pre-remove notify error %d\n", ret);
++ if (ret)
+ goto err_unlock;
+- }
+
+ ret_apply = 0;
+ ret = __of_changeset_revert_entries(&ovcs->cset, &ret_apply);
+@@ -1219,12 +1205,9 @@ int of_overlay_remove(int *ovcs_id)
+ * OF_OVERLAY_POST_REMOVE returns an error.
+ */
+ ret_tmp = overlay_notify(ovcs, OF_OVERLAY_POST_REMOVE);
+- if (ret_tmp) {
+- pr_err("overlay changeset post-remove notify error %d\n",
+- ret_tmp);
++ if (ret_tmp)
+ if (!ret)
+ ret = ret_tmp;
+- }
+
+ free_overlay_changeset(ovcs);
+
+--- a/include/linux/of.h
++++ b/include/linux/of.h
+@@ -1493,6 +1493,19 @@ enum of_overlay_notify_action {
+ OF_OVERLAY_POST_REMOVE,
+ };
+
++static inline char *of_overlay_action_name(enum of_overlay_notify_action action)
++{
++ static char *of_overlay_action_name[] = {
++ "init",
++ "pre-apply",
++ "post-apply",
++ "pre-remove",
++ "post-remove",
++ };
++
++ return of_overlay_action_name[action];
++}
++
+ struct of_overlay_notify_data {
+ struct device_node *overlay;
+ struct device_node *target;