lkml.org 
[lkml]   [2018]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] usb: typec: ucsi: fix tracepoint related build error
On Mon, Apr 09, 2018 at 09:55:17AM +0200, Tobias Regnery wrote:
> The ucsi driver defines several tracepoints, but the header file with the
> tracepoint definition trace.h is only conditionally built depending on
> CONFIG_FTRACE.

You mean trace.c, right? The definitions are indeed in the header,
trace.h, so I'm a bit confused what is actually the problem?

> This leads to the following build error with CONFIG_FTRACE=n and
> CONFIG_TYPEC_UCSI=m:

That alone should not cause any problems.

> ERROR: "__tracepoint_ucsi_command" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
> ERROR: "__tracepoint_ucsi_register_port" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
> ERROR: "__tracepoint_ucsi_notify" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
> ERROR: "__tracepoint_ucsi_reset_ppm" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
> ERROR: "__tracepoint_ucsi_run_command" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
> ERROR: "__tracepoint_ucsi_ack" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
> ERROR: "__tracepoint_ucsi_connector_change" [drivers/usb/typec/ucsi/typec_ucsi.ko] undefined!
>
> With CONFIG_TYPEC_UCSI=y the build fails with several link errors.
>
> Fix this by changing the Makefile to unconditionally build trace.o.
> Tracepints are a runtime contruct and no other user of tracepoints depends
> on CONFIG_FTRACE.
>
> Fixes: c1b0bc2dabfa ("usb: typec: Add support for UCSI interface")
> Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com>
> ---
> drivers/usb/typec/ucsi/Makefile | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/usb/typec/ucsi/Makefile b/drivers/usb/typec/ucsi/Makefile
> index b57891c1fd31..971befbbc2a8 100644
> --- a/drivers/usb/typec/ucsi/Makefile
> +++ b/drivers/usb/typec/ucsi/Makefile
> @@ -3,8 +3,6 @@ CFLAGS_trace.o := -I$(src)
>
> obj-$(CONFIG_TYPEC_UCSI) += typec_ucsi.o
>
> -typec_ucsi-y := ucsi.o
> -
> -typec_ucsi-$(CONFIG_FTRACE) += trace.o
> +typec_ucsi-y := ucsi.o trace.o
>
> obj-$(CONFIG_UCSI_ACPI) += ucsi_acpi.o

I would like to understand what is the root cause for the problem you
are seeing? CONFIG_FTRACE=n with CONFIG_TYPEC_UCSI=m alone compiles
just fine for me.

Using FTRACE as the condition here is indeed wrong, but changing that
so that we unconditionally compile trace.c is also wrong. We should
probable use CONFIG_TRACING instead of CONFIG_FTRACE. Can you check if
that works for you?


Thanks,

--
heikki

\
 
 \ /
  Last update: 2018-04-09 12:02    [W:0.056 / U:0.984 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site