diff mbox series

[v3,1/1] tracing: Fix compile error in trace_array calls when TRACING is disabled

Message ID 20220907233308.4153-2-aeasi@marvell.com
State New
Headers show
Series Tracing: Compile error with qla2xxx | expand

Commit Message

Arun Easi Sept. 7, 2022, 11:33 p.m. UTC
Fix this compilation error seen when CONFIG_TRACING is not enabled:

drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_init':
drivers/scsi/qla2xxx/qla_os.c:2854:25: error: implicit declaration of function
'trace_array_get_by_name'; did you mean 'trace_array_set_clr_event'?
[-Werror=implicit-function-declaration]
 2854 |         qla_trc_array = trace_array_get_by_name("qla2xxx");
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
      |                         trace_array_set_clr_event

drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_uninit':
drivers/scsi/qla2xxx/qla_os.c:2869:9: error: implicit declaration of function
'trace_array_put' [-Werror=implicit-function-declaration]
 2869 |         trace_array_put(qla_trc_array);
      |         ^~~~~~~~~~~~~~~

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Arun Easi <aeasi@marvell.com>
---
 include/linux/trace.h | 36 ++++++++++++++++++++++++++++++++++--
 1 file changed, 34 insertions(+), 2 deletions(-)

Comments

Martin K. Petersen Sept. 16, 2022, 1:32 a.m. UTC | #1
Steven,

Can you please review Arun's patch?

> Fix this compilation error seen when CONFIG_TRACING is not enabled:
>
> drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_init':
> drivers/scsi/qla2xxx/qla_os.c:2854:25: error: implicit declaration of function
> 'trace_array_get_by_name'; did you mean 'trace_array_set_clr_event'?
> [-Werror=implicit-function-declaration]
>  2854 |         qla_trc_array = trace_array_get_by_name("qla2xxx");
>       |                         ^~~~~~~~~~~~~~~~~~~~~~~
>       |                         trace_array_set_clr_event
>
> drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_uninit':
> drivers/scsi/qla2xxx/qla_os.c:2869:9: error: implicit declaration of function
> 'trace_array_put' [-Werror=implicit-function-declaration]
>  2869 |         trace_array_put(qla_trc_array);
>       |         ^~~~~~~~~~~~~~~
>
Arun Easi Sept. 16, 2022, 9:22 p.m. UTC | #2
Since Steve is travelling, trying Ingo, who is a co-maintainer of trace 
stuff.

Hi Ingo,

If you could review/approve the patch, that would be very helpful, as this 
is a build breaker fix.

Please see the link below for more context:

Most recent (v3) patch posting:
https://lore.kernel.org/linux-scsi/20220907233308.4153-2-aeasi@marvell.com/

Steve suggesting to take the patch via SCSI tree:
https://lore.kernel.org/linux-scsi/20220906174140.41b46a5f@gandalf.local.home/

Regards,
-Arun

On Thu, 15 Sep 2022, 6:32pm, Martin K. Petersen wrote:

> External Email
> 
> ----------------------------------------------------------------------
> 
> Steven,
> 
> Can you please review Arun's patch?
> 
> > Fix this compilation error seen when CONFIG_TRACING is not enabled:
> >
> > drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_init':
> > drivers/scsi/qla2xxx/qla_os.c:2854:25: error: implicit declaration of function
> > 'trace_array_get_by_name'; did you mean 'trace_array_set_clr_event'?
> > [-Werror=implicit-function-declaration]
> >  2854 |         qla_trc_array = trace_array_get_by_name("qla2xxx");
> >       |                         ^~~~~~~~~~~~~~~~~~~~~~~
> >       |                         trace_array_set_clr_event
> >
> > drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_uninit':
> > drivers/scsi/qla2xxx/qla_os.c:2869:9: error: implicit declaration of function
> > 'trace_array_put' [-Werror=implicit-function-declaration]
> >  2869 |         trace_array_put(qla_trc_array);
> >       |         ^~~~~~~~~~~~~~~
> >
> 
>
Steven Rostedt Sept. 22, 2022, 9:02 p.m. UTC | #3
On Thu, 15 Sep 2022 21:32:59 -0400
"Martin K. Petersen" <martin.petersen@oracle.com> wrote:

> Steven,
> 
> Can you please review Arun's patch?

Sorry, was busy running a conference ;-)

> 
> > Fix this compilation error seen when CONFIG_TRACING is not enabled:
> >
> > drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_init':
> > drivers/scsi/qla2xxx/qla_os.c:2854:25: error: implicit declaration of function
> > 'trace_array_get_by_name'; did you mean 'trace_array_set_clr_event'?
> > [-Werror=implicit-function-declaration]
> >  2854 |         qla_trc_array = trace_array_get_by_name("qla2xxx");
> >       |                         ^~~~~~~~~~~~~~~~~~~~~~~
> >       |                         trace_array_set_clr_event
> >
> > drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_uninit':
> > drivers/scsi/qla2xxx/qla_os.c:2869:9: error: implicit declaration of function
> > 'trace_array_put' [-Werror=implicit-function-declaration]
> >  2869 |         trace_array_put(qla_trc_array);
> >       |         ^~~~~~~~~~~~~~~
> >  
> 

The patch looks good to me.

Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>

-- Steve
Arun Easi Sept. 22, 2022, 10:34 p.m. UTC | #4
Thanks for the review, Steve.

Regards,
-Arun

On Thu, 22 Sep 2022, 2:02pm, Steven Rostedt wrote:

> External Email
> 
> ----------------------------------------------------------------------
> On Thu, 15 Sep 2022 21:32:59 -0400
> "Martin K. Petersen" <martin.petersen@oracle.com> wrote:
> 
> > Steven,
> > 
> > Can you please review Arun's patch?
> 
> Sorry, was busy running a conference ;-)
> 
> > 
> > > Fix this compilation error seen when CONFIG_TRACING is not enabled:
> > >
> > > drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_init':
> > > drivers/scsi/qla2xxx/qla_os.c:2854:25: error: implicit declaration of function
> > > 'trace_array_get_by_name'; did you mean 'trace_array_set_clr_event'?
> > > [-Werror=implicit-function-declaration]
> > >  2854 |         qla_trc_array = trace_array_get_by_name("qla2xxx");
> > >       |                         ^~~~~~~~~~~~~~~~~~~~~~~
> > >       |                         trace_array_set_clr_event
> > >
> > > drivers/scsi/qla2xxx/qla_os.c: In function 'qla_trace_uninit':
> > > drivers/scsi/qla2xxx/qla_os.c:2869:9: error: implicit declaration of function
> > > 'trace_array_put' [-Werror=implicit-function-declaration]
> > >  2869 |         trace_array_put(qla_trc_array);
> > >       |         ^~~~~~~~~~~~~~~
> > >  
> > 
> 
> The patch looks good to me.
> 
> Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> 
> -- Steve
>
diff mbox series

Patch

diff --git a/include/linux/trace.h b/include/linux/trace.h
index bf16961..b5e16e4 100644
--- a/include/linux/trace.h
+++ b/include/linux/trace.h
@@ -2,8 +2,6 @@ 
 #ifndef _LINUX_TRACE_H
 #define _LINUX_TRACE_H
 
-#ifdef CONFIG_TRACING
-
 #define TRACE_EXPORT_FUNCTION	BIT(0)
 #define TRACE_EXPORT_EVENT	BIT(1)
 #define TRACE_EXPORT_MARKER	BIT(2)
@@ -28,6 +26,8 @@  struct trace_export {
 	int flags;
 };
 
+#ifdef CONFIG_TRACING
+
 int register_ftrace_export(struct trace_export *export);
 int unregister_ftrace_export(struct trace_export *export);
 
@@ -48,6 +48,38 @@  void osnoise_arch_unregister(void);
 void osnoise_trace_irq_entry(int id);
 void osnoise_trace_irq_exit(int id, const char *desc);
 
+#else /* CONFIG_TRACING */
+static inline int register_ftrace_export(struct trace_export *export)
+{
+	return -EINVAL;
+}
+static inline int unregister_ftrace_export(struct trace_export *export)
+{
+	return 0;
+}
+static inline void trace_printk_init_buffers(void)
+{
+}
+static inline int trace_array_printk(struct trace_array *tr, unsigned long ip,
+				     const char *fmt, ...)
+{
+	return 0;
+}
+static inline int trace_array_init_printk(struct trace_array *tr)
+{
+	return -EINVAL;
+}
+static inline void trace_array_put(struct trace_array *tr)
+{
+}
+static inline struct trace_array *trace_array_get_by_name(const char *name)
+{
+	return NULL;
+}
+static inline int trace_array_destroy(struct trace_array *tr)
+{
+	return 0;
+}
 #endif	/* CONFIG_TRACING */
 
 #endif	/* _LINUX_TRACE_H */