of: reserved-memory: Add stub for RESERVEDMEM_OF_DECLARE()
authorDmitry Osipenko <digetx@gmail.com>
Thu, 10 Jun 2021 16:23:13 +0000 (19:23 +0300)
committerRob Herring <robh@kernel.org>
Mon, 21 Jun 2021 19:56:46 +0000 (13:56 -0600)
The reserved-memory Kconfig could be disabled when drivers are
compile-tested. In this case RESERVEDMEM_OF_DECLARE() produces a
noisy warning about the orphaned __reservedmem_of_table section.
Add the missing stub that fixes the warning. In particular this is
needed for compile-testing of NVIDIA Tegra210 memory driver which
uses reserved-memory.

Reported-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20210610162313.20942-1-digetx@gmail.com
Signed-off-by: Rob Herring <robh@kernel.org>
include/linux/of.h
include/linux/of_reserved_mem.h

index d8db8d3..9c2e71e 100644 (file)
@@ -1329,6 +1329,12 @@ static inline int of_get_available_child_count(const struct device_node *np)
        return num;
 }
 
+#define _OF_DECLARE_STUB(table, name, compat, fn, fn_type)             \
+       static const struct of_device_id __of_table_##name              \
+               __attribute__((unused))                                 \
+                = { .compatible = compat,                              \
+                    .data = (fn == (fn_type)NULL) ? fn : fn }
+
 #if defined(CONFIG_OF) && !defined(MODULE)
 #define _OF_DECLARE(table, name, compat, fn, fn_type)                  \
        static const struct of_device_id __of_table_##name              \
@@ -1338,10 +1344,7 @@ static inline int of_get_available_child_count(const struct device_node *np)
                     .data = (fn == (fn_type)NULL) ? fn : fn  }
 #else
 #define _OF_DECLARE(table, name, compat, fn, fn_type)                  \
-       static const struct of_device_id __of_table_##name              \
-               __attribute__((unused))                                 \
-                = { .compatible = compat,                              \
-                    .data = (fn == (fn_type)NULL) ? fn : fn }
+       _OF_DECLARE_STUB(table, name, compat, fn, fn_type)
 #endif
 
 typedef int (*of_init_fn_2)(struct device_node *, struct device_node *);
index 76e4a0f..4de2a24 100644 (file)
@@ -27,11 +27,11 @@ struct reserved_mem_ops {
 
 typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem);
 
+#ifdef CONFIG_OF_RESERVED_MEM
+
 #define RESERVEDMEM_OF_DECLARE(name, compat, init)                     \
        _OF_DECLARE(reservedmem, name, compat, init, reservedmem_of_init_fn)
 
-#ifdef CONFIG_OF_RESERVED_MEM
-
 int of_reserved_mem_device_init_by_idx(struct device *dev,
                                       struct device_node *np, int idx);
 int of_reserved_mem_device_init_by_name(struct device *dev,
@@ -41,6 +41,10 @@ void of_reserved_mem_device_release(struct device *dev);
 
 struct reserved_mem *of_reserved_mem_lookup(struct device_node *np);
 #else
+
+#define RESERVEDMEM_OF_DECLARE(name, compat, init)                     \
+       _OF_DECLARE_STUB(reservedmem, name, compat, init, reservedmem_of_init_fn)
+
 static inline int of_reserved_mem_device_init_by_idx(struct device *dev,
                                        struct device_node *np, int idx)
 {