Move the declaration of 'struct trace_array' out of #ifdef
CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
is not set:
>> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
inside parameter list will not be visible outside of this definition or
declaration
Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
Cc: Arun Easi <[email protected]>
Signed-off-by: Aashish Sharma <[email protected]>
---
include/linux/trace.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/trace.h b/include/linux/trace.h
index b5e16e438448..80ffda871749 100644
--- a/include/linux/trace.h
+++ b/include/linux/trace.h
@@ -26,13 +26,13 @@ struct trace_export {
int flags;
};
+struct trace_array;
+
#ifdef CONFIG_TRACING
int register_ftrace_export(struct trace_export *export);
int unregister_ftrace_export(struct trace_export *export);
-struct trace_array;
-
void trace_printk_init_buffers(void);
__printf(3, 4)
int trace_array_printk(struct trace_array *tr, unsigned long ip,
--
2.38.1.431.g37b22c650d-goog
On Mon, Nov 07, 2022 at 09:35:56PM +0530, Aashish Sharma wrote:
> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
> ---
> include/linux/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/trace.h b/include/linux/trace.h
> index b5e16e438448..80ffda871749 100644
> --- a/include/linux/trace.h
> +++ b/include/linux/trace.h
> @@ -26,13 +26,13 @@ struct trace_export {
> int flags;
> };
>
> +struct trace_array;
> +
> #ifdef CONFIG_TRACING
>
> int register_ftrace_export(struct trace_export *export);
> int unregister_ftrace_export(struct trace_export *export);
>
> -struct trace_array;
> -
> void trace_printk_init_buffers(void);
> __printf(3, 4)
> int trace_array_printk(struct trace_array *tr, unsigned long ip,
> --
> 2.38.1.431.g37b22c650d-goog
>
On Mon, 7 Nov 2022 21:35:56 +0530
Aashish Sharma <[email protected]> wrote:
> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
This looks good to me.
Acked-by: Masami Hiramatsu (Google) <[email protected]>
Thank you!
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
> ---
> include/linux/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/trace.h b/include/linux/trace.h
> index b5e16e438448..80ffda871749 100644
> --- a/include/linux/trace.h
> +++ b/include/linux/trace.h
> @@ -26,13 +26,13 @@ struct trace_export {
> int flags;
> };
>
> +struct trace_array;
> +
> #ifdef CONFIG_TRACING
>
> int register_ftrace_export(struct trace_export *export);
> int unregister_ftrace_export(struct trace_export *export);
>
> -struct trace_array;
> -
> void trace_printk_init_buffers(void);
> __printf(3, 4)
> int trace_array_printk(struct trace_array *tr, unsigned long ip,
> --
> 2.38.1.431.g37b22c650d-goog
>
--
Masami Hiramatsu (Google) <[email protected]>
On Mon, 7 Nov 2022, 8:05am, Aashish Sharma wrote:
>
> ----------------------------------------------------------------------
> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
> ---
> include/linux/trace.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/trace.h b/include/linux/trace.h
> index b5e16e438448..80ffda871749 100644
> --- a/include/linux/trace.h
> +++ b/include/linux/trace.h
> @@ -26,13 +26,13 @@ struct trace_export {
> int flags;
> };
>
> +struct trace_array;
> +
> #ifdef CONFIG_TRACING
>
> int register_ftrace_export(struct trace_export *export);
> int unregister_ftrace_export(struct trace_export *export);
>
> -struct trace_array;
> -
> void trace_printk_init_buffers(void);
> __printf(3, 4)
> int trace_array_printk(struct trace_array *tr, unsigned long ip,
>
Looks good. Thanks!
I was wondering why I did not see this when I compiled the kernel without
TRACING (for 1a77dd1c2bb5). Apparently, I had linux/trace_events.h
included, which does exactly this. Anyway, makes sense to move this
outside the #ifdef block.
Regards,
-Arun
On Mon, 7 Nov 2022 21:35:56 +0530
Aashish Sharma <[email protected]> wrote:
> Move the declaration of 'struct trace_array' out of #ifdef
> CONFIG_TRACING block, to fix the following warning when CONFIG_TRACING
> is not set:
>
> >> include/linux/trace.h:63:45: warning: 'struct trace_array' declared
> inside parameter list will not be visible outside of this definition or
> declaration
>
> Fixes: 1a77dd1c2bb5 ("scsi: tracing: Fix compile error in trace_array calls when TRACING is disabled")
> Cc: Arun Easi <[email protected]>
> Signed-off-by: Aashish Sharma <[email protected]>
>
Queued. Thanks Aashish!
-- Steve