Message ID | 20220907233308.4153-2-aeasi@marvell.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Tracing: Compile error with qla2xxx | expand |
On 9/7/22 16:33, Arun Easi wrote: > 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 */ Thanks for having addressed my feedback. The above looks good to me. However, I'm not very familiar with the tracing framework so I will leave it to others to formally review this patch. Thanks, Bart.
On Thu, 8 Sep 2022, 9:55am, Bart Van Assche wrote: > > ---------------------------------------------------------------------- > On 9/7/22 16:33, Arun Easi wrote: > > 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 */ > > Thanks for having addressed my feedback. The above looks good to me. However, > I'm not very familiar with the tracing framework so I will leave it to others > to formally review this patch. > Thanks for the review and suggestion of the clang-format command line, Bart. That is a useful one to remember. Steve, does this look ok? If so, your approval is appreciated, as this is a build blocker fix. Regards, -Arun
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); > | ^~~~~~~~~~~~~~~ >
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); > > | ^~~~~~~~~~~~~~~ > > > >
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
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 --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 */
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(-)