From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8A6C7ECAAA1 for ; Wed, 7 Sep 2022 02:48:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229594AbiIGCsM (ORCPT ); Tue, 6 Sep 2022 22:48:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229551AbiIGCsL (ORCPT ); Tue, 6 Sep 2022 22:48:11 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3250898D37; Tue, 6 Sep 2022 19:48:09 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3666A61700; Wed, 7 Sep 2022 02:48:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0281C433C1; Wed, 7 Sep 2022 02:48:06 +0000 (UTC) Date: Tue, 6 Sep 2022 22:48:45 -0400 From: Steven Rostedt To: Arun Easi Cc: Martin Petersen , Sudip Mukherjee , James Bottomley , , , , Subject: Re: [PATCH 1/1] tracing: Fix compile error in trace_array calls when TRACING is disabled Message-ID: <20220906224845.64bc7afd@gandalf.local.home> In-Reply-To: <20220907023800.4095-2-aeasi@marvell.com> References: <20220907023800.4095-1-aeasi@marvell.com> <20220907023800.4095-2-aeasi@marvell.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-next@vger.kernel.org On Tue, 6 Sep 2022 19:38:00 -0700 Arun Easi 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 > Signed-off-by: Arun Easi > --- > 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 */