Message ID | 20220907023800.4095-2-aeasi@marvell.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Tracing: Compile error with qla2xxx | expand |
On Tue, 6 Sep 2022 19:38:00 -0700 Arun Easi <aeasi@marvell.com> wrote: > 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 | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/include/linux/trace.h b/include/linux/trace.h > index bf16961..bf206c3 100644 > --- a/include/linux/trace.h > +++ b/include/linux/trace.h > @@ -48,6 +48,23 @@ 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 */ > +#define TRACE_EXPORT_FUNCTION 0 > +#define TRACE_EXPORT_EVENT 0 > +#define TRACE_EXPORT_MARKER 0 > +struct trace_export { }; The original for the above can just be moved out of the #ifdef CONFIG_TRACING. No need to "hide" them. > +#define register_ftrace_export(export) -EINVAL > +#define unregister_ftrace_export(export) 0 > +#define trace_printk_init_buffers() > +#define trace_array_printk(tr, ip, fmt, ...) 0 > +#define trace_array_init_printk(tr) -EINVAL > +#define trace_array_put(tr) > +#define trace_array_get_by_name(name) NULL > +#define trace_array_destroy(tr) 0 With the data outside the #ifdef, the above should be converted into static inlines. > +#define osnoise_arch_register() -EINVAL > +#define osnoise_arch_unregister() > +#define osnoise_trace_irq_entry(id) > +#define osnoise_trace_irq_exit(id, desc) No need to define the osnoise functions. These are only here to allow archs to define them. They should never be referenced when CONFIG_TRACING is not set. > #endif /* CONFIG_TRACING */ > > #endif /* _LINUX_TRACE_H */
diff --git a/include/linux/trace.h b/include/linux/trace.h index bf16961..bf206c3 100644 --- a/include/linux/trace.h +++ b/include/linux/trace.h @@ -48,6 +48,23 @@ 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 */ +#define TRACE_EXPORT_FUNCTION 0 +#define TRACE_EXPORT_EVENT 0 +#define TRACE_EXPORT_MARKER 0 +struct trace_export { }; +#define register_ftrace_export(export) -EINVAL +#define unregister_ftrace_export(export) 0 +#define trace_printk_init_buffers() +#define trace_array_printk(tr, ip, fmt, ...) 0 +#define trace_array_init_printk(tr) -EINVAL +#define trace_array_put(tr) +#define trace_array_get_by_name(name) NULL +#define trace_array_destroy(tr) 0 +#define osnoise_arch_register() -EINVAL +#define osnoise_arch_unregister() +#define osnoise_trace_irq_entry(id) +#define osnoise_trace_irq_exit(id, desc) #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 | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)