Le 05/09/2020 à 13:17, Yang Yingliang a écrit :
Fix the compile warning:

arch/powerpc/kernel/eeh.c:1639:12: error: 'proc_eeh_show' defined but not used 
[-Werror=unused-function]
  static int proc_eeh_show(struct seq_file *m, void *v)

Reported-by: Hulk Robot <hul...@huawei.com>
Signed-off-by: Yang Yingliang <yangyingli...@huawei.com>
---
  arch/powerpc/kernel/eeh.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 94682382fc8c..420c3c25c6e7 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -1636,6 +1636,7 @@ int eeh_pe_inject_err(struct eeh_pe *pe, int type, int 
func,
  }
  EXPORT_SYMBOL_GPL(eeh_pe_inject_err);
+#ifdef CONFIG_PROC_FS

I don't like this way of fixing the issue, because you'll get an unbalanced source code: proc_eeh_show() is apparently referenced all the time in eeh_init_proc(), but because proc_create_single() is a NULL macro when CONFIG_PROC_FS is not selected, you get the 'unused function' error.

I think the right fix should be to rewrite proc_create_single() as a static inline function that calls proc_create_single_data() when CONFIG_PROC_FS is selected and just returns NULL otherwise.

  static int proc_eeh_show(struct seq_file *m, void *v)
  {
        if (!eeh_enabled()) {
@@ -1662,6 +1663,7 @@ static int proc_eeh_show(struct seq_file *m, void *v)
return 0;
  }
+#endif
#ifdef CONFIG_DEBUG_FS
  static int eeh_enable_dbgfs_set(void *data, u64 val)


Christophe

Reply via email to