If CONFIG_TRACING is not set, make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-gnu-, will be failed, like this: drivers/scsi/qla2xxx/qla_os.c: In function ‘qla_trace_init’: drivers/scsi/qla2xxx/qla_os.c:2854:18: error: implicit declaration of function ‘trace_array_get_by_name’; did you mean ‘trace_array_set_clr_event’? [-Werror=implicit-function-declaration] qla_trc_array = trace_array_get_by_name("qla2xxx"); ^~~~~~~~~~~~~~~~~~~~~~~ trace_array_set_clr_event drivers/scsi/qla2xxx/qla_os.c:2854:16: error: assignment makes pointer from integer without a cast [-Werror=int-conversion] qla_trc_array = trace_array_get_by_name("qla2xxx"); ^ drivers/scsi/qla2xxx/qla_os.c: In function ‘qla_trace_uninit’: drivers/scsi/qla2xxx/qla_os.c:2869:2: error: implicit declaration of function ‘trace_array_put’; did you mean ‘trace_seq_putc’? [-Werror=implicit-function-declaration] trace_array_put(qla_trc_array); ^~~~~~~~~~~~~~~ trace_seq_putc cc1: all warnings being treated as errors To fix this error, wrap up all the relevant code with CONFIG_TRACING. Fixes: 8bfc149ba24c ("scsi: qla2xxx: Enhance driver tracing with separate tunable and more") Signed-off-by: Ren Zhijie <renzhijie2@xxxxxxxxxx> --- drivers/scsi/qla2xxx/qla_os.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 2c85f3cce726..e445105ee16d 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -37,7 +37,9 @@ static int apidev_major; */ struct kmem_cache *srb_cachep; +#ifdef CONFIG_TRACING static struct trace_array *qla_trc_array; +#endif int ql2xfulldump_on_mpifail; module_param(ql2xfulldump_on_mpifail, int, S_IRUGO | S_IWUSR); @@ -2848,6 +2850,7 @@ static void qla2x00_iocb_work_fn(struct work_struct *work) spin_unlock_irqrestore(&vha->work_lock, flags); } +#ifdef CONFIG_TRACING static void qla_trace_init(void) { @@ -2868,7 +2871,7 @@ qla_trace_uninit(void) return; trace_array_put(qla_trc_array); } - +#endif /* * PCI driver interface */ @@ -8209,7 +8212,9 @@ qla2x00_module_init(void) BUILD_BUG_ON(sizeof(sw_info_t) != 32); BUILD_BUG_ON(sizeof(target_id_t) != 2); +#ifdef CONFIG_TRACING qla_trace_init(); +#endif /* Allocate cache for SRBs. */ srb_cachep = kmem_cache_create("qla2xxx_srbs", sizeof(srb_t), 0, @@ -8290,7 +8295,9 @@ qla2x00_module_init(void) destroy_cache: kmem_cache_destroy(srb_cachep); +#ifdef CONFIG_TRACING qla_trace_uninit(); +#endif return ret; } @@ -8309,7 +8316,9 @@ qla2x00_module_exit(void) fc_release_transport(qla2xxx_transport_template); qlt_exit(); kmem_cache_destroy(srb_cachep); +#ifdef CONFIG_TRACING qla_trace_uninit(); +#endif } module_init(qla2x00_module_init); -- 2.17.1