On 11/18/21 10:21, Michael Ellerman wrote:
Cédric Le Goater <c...@kaod.org> writes:

and fix some compile issues when !CONFIG_DEBUG_FS.

Signed-off-by: Cédric Le Goater <c...@kaod.org>
---
  arch/powerpc/sysdev/xive/common.c | 17 ++++++++++++++---
  1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/sysdev/xive/common.c 
b/arch/powerpc/sysdev/xive/common.c
index 3d558cad1f19..b71cc1020296 100644
--- a/arch/powerpc/sysdev/xive/common.c
+++ b/arch/powerpc/sysdev/xive/common.c
...
@@ -1779,10 +1782,18 @@ static int xive_core_debug_show(struct seq_file *m, 
void *private)
  }
  DEFINE_SHOW_ATTRIBUTE(xive_core_debug);
+static void xive_core_debugfs_create(void)
+{
+       debugfs_create_file("xive", 0400, arch_debugfs_dir,
+                           NULL, &xive_core_debug_fops);
+}
+
+#endif /* CONFIG_DEBUG_FS */
+
  int xive_core_debug_init(void)
  {
-       if (xive_enabled())
-               debugfs_create_file("xive", 0400, arch_debugfs_dir,
-                                   NULL, &xive_core_debug_fops);
+       if (xive_enabled() && IS_ENABLED(CONFIG_DEBUG_FS))
+               xive_core_debugfs_create();
+
        return 0;
  }

For skiroot_defconfig this gives me:

   arch/powerpc/sysdev/xive/common.c: In function ‘xive_core_init’:
   arch/powerpc/sysdev/xive/common.c:1676:2: error: implicit declaration of 
function ‘xive_core_debugfs_create’; did you mean ‘xive_core_debug_init’? 
[-Werror=implicit-function-declaration]
    1676 |  xive_core_debugfs_create();
         |  ^~~~~~~~~~~~~~~~~~~~~~~~
         |  xive_core_debug_init
   cc1: all warnings being treated as errors


We need an empty inline stub of xive_core_debugfs_create() for the
CONFIG_DEBUG_FS=n case.

I thought IS_ENABLED(CONFIG_DEBUG_FS)) was protecting compile from
that issue. Do you want a v2 for the whole ?

Or, I can send a replacement for patch 4 only.

I'm wondering though why do we have xive_core_debug_init() at all, why
don't we just initialise the debugfs files in xive_core_init()?

I think I tried that and there was an ordering issue.

Thanks,

C.

Reply via email to