--- /dev/null
+From 5cf9d015be160e2d90d29ae74ef1364390e8fce8 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <nathan@kernel.org>
+Date: Wed, 8 Mar 2023 13:47:11 -0700
+Subject: clk: Avoid invalid function names in CLK_OF_DECLARE()
+
+From: Nathan Chancellor <nathan@kernel.org>
+
+commit 5cf9d015be160e2d90d29ae74ef1364390e8fce8 upstream.
+
+After commit c28cd1f3433c ("clk: Mark a fwnode as initialized when using
+CLK_OF_DECLARE() macro"), drivers/clk/mvebu/kirkwood.c fails to build:
+
+ drivers/clk/mvebu/kirkwood.c:358:1: error: expected identifier or '('
+ CLK_OF_DECLARE(98dx1135_clk, "marvell,mv98dx1135-core-clock",
+ ^
+ include/linux/clk-provider.h:1367:21: note: expanded from macro 'CLK_OF_DECLARE'
+ static void __init name##_of_clk_init_declare(struct device_node *np) \
+ ^
+ <scratch space>:124:1: note: expanded from here
+ 98dx1135_clk_of_clk_init_declare
+ ^
+ drivers/clk/mvebu/kirkwood.c:358:1: error: invalid digit 'd' in decimal constant
+ include/linux/clk-provider.h:1372:34: note: expanded from macro 'CLK_OF_DECLARE'
+ OF_DECLARE_1(clk, name, compat, name##_of_clk_init_declare)
+ ^
+ <scratch space>:125:3: note: expanded from here
+ 98dx1135_clk_of_clk_init_declare
+ ^
+ drivers/clk/mvebu/kirkwood.c:358:1: error: invalid digit 'd' in decimal constant
+ include/linux/clk-provider.h:1372:34: note: expanded from macro 'CLK_OF_DECLARE'
+ OF_DECLARE_1(clk, name, compat, name##_of_clk_init_declare)
+ ^
+ <scratch space>:125:3: note: expanded from here
+ 98dx1135_clk_of_clk_init_declare
+ ^
+ drivers/clk/mvebu/kirkwood.c:358:1: error: invalid digit 'd' in decimal constant
+ include/linux/clk-provider.h:1372:34: note: expanded from macro 'CLK_OF_DECLARE'
+ OF_DECLARE_1(clk, name, compat, name##_of_clk_init_declare)
+ ^
+ <scratch space>:125:3: note: expanded from here
+ 98dx1135_clk_of_clk_init_declare
+ ^
+
+C function names must start with either an alphabetic letter or an
+underscore. To avoid generating invalid function names from clock names,
+add two underscores to the beginning of the identifier.
+
+Fixes: c28cd1f3433c ("clk: Mark a fwnode as initialized when using CLK_OF_DECLARE() macro")
+Suggested-by: Saravana Kannan <saravanak@google.com>
+Signed-off-by: Nathan Chancellor <nathan@kernel.org>
+Link: https://lore.kernel.org/r/20230308-clk_of_declare-fix-v1-1-317b741e2532@kernel.org
+Reviewed-by: Saravana Kannan <saravanak@google.com>
+Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
+Signed-off-by: Stephen Boyd <sboyd@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/clk-provider.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/linux/clk-provider.h
++++ b/include/linux/clk-provider.h
+@@ -1362,12 +1362,12 @@ struct clk_hw_onecell_data {
+ };
+
+ #define CLK_OF_DECLARE(name, compat, fn) \
+- static void __init name##_of_clk_init_declare(struct device_node *np) \
++ static void __init __##name##_of_clk_init_declare(struct device_node *np) \
+ { \
+ fn(np); \
+ fwnode_dev_initialized(of_fwnode_handle(np), true); \
+ } \
+- OF_DECLARE_1(clk, name, compat, name##_of_clk_init_declare)
++ OF_DECLARE_1(clk, name, compat, __##name##_of_clk_init_declare)
+
+ /*
+ * Use this macro when you have a driver that requires two initialization