Re: [PATCH] usb: typec: ucsi: fix tracepoint related build error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> ---
>  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
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux