2017-06-03 14:13:20

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v7 00/23] FSI device driver implementation

On Wed, May 31, 2017 at 12:17:05PM -0500, Christopher Bostic wrote:
> Hi Greg,
>
> Are there any further changes you require for this patch set? This has been
> extensively tested internally and all is working as expected. Would it be
> possible to move forward with integration in the near future? Any input
> would be appreciated.

Sorry for the delay. I just tried applying this to my tree, but got the
following build warnings, and then errors:

In file included from ./include/trace/define_trace.h:95:0,
from ./include/trace/events/fsi.h:127,
from drivers/fsi/fsi-core.c:27:
./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_write’:
./include/trace/events/fsi.h:58:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 8 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
^
./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
trace_seq_printf(s, print); \
^~~~~
./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
PARAMS(print)); \
^~~~~~
./include/trace/events/fsi.h:37:1: note: in expansion of macro ‘TRACE_EVENT’
TRACE_EVENT(fsi_master_write,
^~~~~~~~~~~
./include/trace/events/fsi.h:58:2: note: in expansion of macro ‘TP_printk’
TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
^~~~~~~~~
In file included from ./include/trace/trace_events.h:377:0,
from ./include/trace/define_trace.h:95,
from ./include/trace/events/fsi.h:127,
from drivers/fsi/fsi-core.c:27:
./include/trace/events/fsi.h:58:44: note: format string is defined here
TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
~^~
In file included from ./include/trace/define_trace.h:95:0,
from ./include/trace/events/fsi.h:127,
from drivers/fsi/fsi-core.c:27:
./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_rw_resul
’:
./include/trace/events/fsi.h:95:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 9 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
^
./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
trace_seq_printf(s, print); \
^~~~~
./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
PARAMS(print)); \
^~~~~~
./include/trace/events/fsi.h:68:1: note: in expansion of macro ‘TRACE_EVENT’
TRACE_EVENT(fsi_master_rw_result,
^~~~~~~~~~~
./include/trace/events/fsi.h:95:2: note: in expansion of macro ‘TP_printk’
TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
^~~~~~~~~
In file included from ./include/trace/trace_events.h:377:0,
from ./include/trace/define_trace.h:95,
from ./include/trace/events/fsi.h:127,
from drivers/fsi/fsi-core.c:27:
./include/trace/events/fsi.h:95:44: note: format string is defined here
TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
~^~
CHK include/generated/uapi/linux/version.h
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
SORTEX vmlinux
SYSMAP System.map
CC arch/x86/boot/version.o
Building modules, stage 2.
VOFFSET arch/x86/boot/compressed/../voffset.h
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
RELOCS arch/x86/boot/compressed/vmlinux.relocs
CC arch/x86/boot/compressed/kaslr.o
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
CC arch/x86/boot/compressed/misc.o
MODPOST 476 modules
WARNING: modpost: missing MODULE_LICENSE() in drivers/fsi/fsi-core.o
see include/linux/module.h for more information
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
DATAREL arch/x86/boot/compressed/vmlinux
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Setup is 17532 bytes (padded to 17920 bytes).
System is 5445 kB
CRC 56d8089d
Kernel: arch/x86/boot/bzImage is ready (#387)
ERROR: "fsi_slave_claim_range" [drivers/fsi/fsi-master-hub.ko] undefined!
ERROR: "fsi_slave_read" [drivers/fsi/fsi-master-hub.ko] undefined!
ERROR: "fsi_slave_write" [drivers/fsi/fsi-master-hub.ko] undefined!
ERROR: "fsi_slave_release_range" [drivers/fsi/fsi-master-hub.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:91: __modpost] Error 1
make: *** [Makefile:1214: modules] Error 2


Note, I'm using gcc 7.1.1, which might be what is showing the build warnings,
but that doesn't explain the build errors.

So obviously, I can't take this as is :(

thanks,

greg k-h


2017-06-03 21:25:34

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH v7 00/23] FSI device driver implementation

On Sat, 3 Jun 2017 19:05:10 +0900
Greg KH <[email protected]> wrote:

> On Wed, May 31, 2017 at 12:17:05PM -0500, Christopher Bostic wrote:
> > Hi Greg,
> >
> > Are there any further changes you require for this patch set? This has been
> > extensively tested internally and all is working as expected. Would it be
> > possible to move forward with integration in the near future? Any input
> > would be appreciated.
>
> Sorry for the delay. I just tried applying this to my tree, but got the
> following build warnings, and then errors:
>
> In file included from ./include/trace/define_trace.h:95:0,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_write’:
> ./include/trace/events/fsi.h:58:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 8 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",

>From patch 16/23:

+TRACE_EVENT(fsi_master_write,
+ TP_PROTO(const struct fsi_master *master, int link, int id,
+ uint32_t addr, size_t size, const void *data),
+ TP_ARGS(master, link, id, addr, size, data),
+ TP_STRUCT__entry(
+ __field(int, master_idx)
+ __field(int, link)
+ __field(int, id)
+ __field(__u32, addr)
+ __field(size_t, size)
+ __field(__u32, data)
+ ),
+ TP_fast_assign(
+ __entry->master_idx = master->idx;
+ __entry->link = link;
+ __entry->id = id;
+ __entry->addr = addr;
+ __entry->size = size;
+ __entry->data = 0;
+ memcpy(&__entry->data, data, size);
+ ),
+ TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
+ __entry->master_idx,
+ __entry->link,
+ __entry->id,
+ __entry->addr,
+ __entry->size,
+ __entry->size, &__entry->data
+ )
+);

Looks like the second __entry->size, probably needs a type cast.

Would something like:

__entry->size,
(int)__entry->size, &__entry->data

work?

I haven't looked at the others, but I'm guessing they are probably
similar issues.

-- Steve

> ^
> ./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
> trace_seq_printf(s, print); \
> ^~~~~
> ./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
> PARAMS(print)); \
> ^~~~~~
> ./include/trace/events/fsi.h:37:1: note: in expansion of macro ‘TRACE_EVENT’
> TRACE_EVENT(fsi_master_write,
> ^~~~~~~~~~~
> ./include/trace/events/fsi.h:58:2: note: in expansion of macro ‘TP_printk’
> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> ^~~~~~~~~
> In file included from ./include/trace/trace_events.h:377:0,
> from ./include/trace/define_trace.h:95,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h:58:44: note: format string is defined here
> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> ~^~
> In file included from ./include/trace/define_trace.h:95:0,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_rw_resul
> ’:
> ./include/trace/events/fsi.h:95:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 9 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
> ^
> ./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
> trace_seq_printf(s, print); \
> ^~~~~
> ./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
> PARAMS(print)); \
> ^~~~~~
> ./include/trace/events/fsi.h:68:1: note: in expansion of macro ‘TRACE_EVENT’
> TRACE_EVENT(fsi_master_rw_result,
> ^~~~~~~~~~~
> ./include/trace/events/fsi.h:95:2: note: in expansion of macro ‘TP_printk’
> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
> ^~~~~~~~~
> In file included from ./include/trace/trace_events.h:377:0,
> from ./include/trace/define_trace.h:95,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h:95:44: note: format string is defined here
> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
> ~^~
> CHK include/generated/uapi/linux/version.h
> GEN .version
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> CC init/version.o
> LD init/built-in.o
> LD vmlinux.o
> MODPOST vmlinux.o
> KSYM .tmp_kallsyms1.o
> KSYM .tmp_kallsyms2.o
> LD vmlinux
> SORTEX vmlinux
> SYSMAP System.map
> CC arch/x86/boot/version.o
> Building modules, stage 2.
> VOFFSET arch/x86/boot/compressed/../voffset.h
> OBJCOPY arch/x86/boot/compressed/vmlinux.bin
> RELOCS arch/x86/boot/compressed/vmlinux.relocs
> CC arch/x86/boot/compressed/kaslr.o
> GZIP arch/x86/boot/compressed/vmlinux.bin.gz
> CC arch/x86/boot/compressed/misc.o
> MODPOST 476 modules
> WARNING: modpost: missing MODULE_LICENSE() in drivers/fsi/fsi-core.o
> see include/linux/module.h for more information
> MKPIGGY arch/x86/boot/compressed/piggy.S
> AS arch/x86/boot/compressed/piggy.o
> DATAREL arch/x86/boot/compressed/vmlinux
> LD arch/x86/boot/compressed/vmlinux
> ZOFFSET arch/x86/boot/zoffset.h
> OBJCOPY arch/x86/boot/vmlinux.bin
> AS arch/x86/boot/header.o
> LD arch/x86/boot/setup.elf
> OBJCOPY arch/x86/boot/setup.bin
> BUILD arch/x86/boot/bzImage
> Setup is 17532 bytes (padded to 17920 bytes).
> System is 5445 kB
> CRC 56d8089d
> Kernel: arch/x86/boot/bzImage is ready (#387)
> ERROR: "fsi_slave_claim_range" [drivers/fsi/fsi-master-hub.ko] undefined!
> ERROR: "fsi_slave_read" [drivers/fsi/fsi-master-hub.ko] undefined!
> ERROR: "fsi_slave_write" [drivers/fsi/fsi-master-hub.ko] undefined!
> ERROR: "fsi_slave_release_range" [drivers/fsi/fsi-master-hub.ko] undefined!
> make[1]: *** [scripts/Makefile.modpost:91: __modpost] Error 1
> make: *** [Makefile:1214: modules] Error 2
>
>
> Note, I'm using gcc 7.1.1, which might be what is showing the build warnings,
> but that doesn't explain the build errors.
>
> So obviously, I can't take this as is :(
>
> thanks,
>
> greg k-h

2017-06-05 19:21:01

by Christopher Bostic

[permalink] [raw]
Subject: Re: [PATCH v7 00/23] FSI device driver implementation



On 6/3/17 5:05 AM, Greg KH wrote:
> On Wed, May 31, 2017 at 12:17:05PM -0500, Christopher Bostic wrote:
>> Hi Greg,
>>
>> Are there any further changes you require for this patch set? This has been
>> extensively tested internally and all is working as expected. Would it be
>> possible to move forward with integration in the near future? Any input
>> would be appreciated.
> Sorry for the delay. I just tried applying this to my tree, but got the
> following build warnings, and then errors:
>
> In file included from ./include/trace/define_trace.h:95:0,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_write’:
> ./include/trace/events/fsi.h:58:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 8 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> ^
> ./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
> trace_seq_printf(s, print); \
> ^~~~~
> ./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
> PARAMS(print)); \
> ^~~~~~
> ./include/trace/events/fsi.h:37:1: note: in expansion of macro ‘TRACE_EVENT’
> TRACE_EVENT(fsi_master_write,
> ^~~~~~~~~~~
> ./include/trace/events/fsi.h:58:2: note: in expansion of macro ‘TP_printk’
> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> ^~~~~~~~~
> In file included from ./include/trace/trace_events.h:377:0,
> from ./include/trace/define_trace.h:95,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h:58:44: note: format string is defined here
> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> ~^~
> In file included from ./include/trace/define_trace.h:95:0,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_rw_resul
> ’:
> ./include/trace/events/fsi.h:95:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 9 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
> ^
> ./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
> trace_seq_printf(s, print); \
> ^~~~~
> ./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
> PARAMS(print)); \
> ^~~~~~
> ./include/trace/events/fsi.h:68:1: note: in expansion of macro ‘TRACE_EVENT’
> TRACE_EVENT(fsi_master_rw_result,
> ^~~~~~~~~~~
> ./include/trace/events/fsi.h:95:2: note: in expansion of macro ‘TP_printk’
> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
> ^~~~~~~~~
> In file included from ./include/trace/trace_events.h:377:0,
> from ./include/trace/define_trace.h:95,
> from ./include/trace/events/fsi.h:127,
> from drivers/fsi/fsi-core.c:27:
> ./include/trace/events/fsi.h:95:44: note: format string is defined here
> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
> ~^~
> CHK include/generated/uapi/linux/version.h
> GEN .version
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> CC init/version.o
> LD init/built-in.o
> LD vmlinux.o
> MODPOST vmlinux.o
> KSYM .tmp_kallsyms1.o
> KSYM .tmp_kallsyms2.o
> LD vmlinux
> SORTEX vmlinux
> SYSMAP System.map
> CC arch/x86/boot/version.o
> Building modules, stage 2.
> VOFFSET arch/x86/boot/compressed/../voffset.h
> OBJCOPY arch/x86/boot/compressed/vmlinux.bin
> RELOCS arch/x86/boot/compressed/vmlinux.relocs
> CC arch/x86/boot/compressed/kaslr.o
> GZIP arch/x86/boot/compressed/vmlinux.bin.gz
> CC arch/x86/boot/compressed/misc.o
> MODPOST 476 modules
> WARNING: modpost: missing MODULE_LICENSE() in drivers/fsi/fsi-core.o
> see include/linux/module.h for more information
> MKPIGGY arch/x86/boot/compressed/piggy.S
> AS arch/x86/boot/compressed/piggy.o
> DATAREL arch/x86/boot/compressed/vmlinux
> LD arch/x86/boot/compressed/vmlinux
> ZOFFSET arch/x86/boot/zoffset.h
> OBJCOPY arch/x86/boot/vmlinux.bin
> AS arch/x86/boot/header.o
> LD arch/x86/boot/setup.elf
> OBJCOPY arch/x86/boot/setup.bin
> BUILD arch/x86/boot/bzImage
> Setup is 17532 bytes (padded to 17920 bytes).
> System is 5445 kB
> CRC 56d8089d
> Kernel: arch/x86/boot/bzImage is ready (#387)
> ERROR: "fsi_slave_claim_range" [drivers/fsi/fsi-master-hub.ko] undefined!
> ERROR: "fsi_slave_read" [drivers/fsi/fsi-master-hub.ko] undefined!
> ERROR: "fsi_slave_write" [drivers/fsi/fsi-master-hub.ko] undefined!
> ERROR: "fsi_slave_release_range" [drivers/fsi/fsi-master-hub.ko] undefined!
> make[1]: *** [scripts/Makefile.modpost:91: __modpost] Error 1
> make: *** [Makefile:1214: modules] Error 2
Hi Greg,

Was missing a few export symbols for module mode... Sorry about that.
Will correct the trace warnings as well and get v8 sent out ASAP.

Thanks for the input.
Chris

>
> Note, I'm using gcc 7.1.1, which might be what is showing the build warnings,
> but that doesn't explain the build errors.
>
> So obviously, I can't take this as is :(
>
> thanks,
>
> greg k-h
>

2017-06-05 19:21:54

by Christopher Bostic

[permalink] [raw]
Subject: Re: [PATCH v7 00/23] FSI device driver implementation



On 6/3/17 4:25 PM, Steven Rostedt wrote:
> On Sat, 3 Jun 2017 19:05:10 +0900
> Greg KH <[email protected]> wrote:
>
>> On Wed, May 31, 2017 at 12:17:05PM -0500, Christopher Bostic wrote:
>>> Hi Greg,
>>>
>>> Are there any further changes you require for this patch set? This has been
>>> extensively tested internally and all is working as expected. Would it be
>>> possible to move forward with integration in the near future? Any input
>>> would be appreciated.
>> Sorry for the delay. I just tried applying this to my tree, but got the
>> following build warnings, and then errors:
>>
>> In file included from ./include/trace/define_trace.h:95:0,
>> from ./include/trace/events/fsi.h:127,
>> from drivers/fsi/fsi-core.c:27:
>> ./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_write’:
>> ./include/trace/events/fsi.h:58:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 8 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
>> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> From patch 16/23:
>
> +TRACE_EVENT(fsi_master_write,
> + TP_PROTO(const struct fsi_master *master, int link, int id,
> + uint32_t addr, size_t size, const void *data),
> + TP_ARGS(master, link, id, addr, size, data),
> + TP_STRUCT__entry(
> + __field(int, master_idx)
> + __field(int, link)
> + __field(int, id)
> + __field(__u32, addr)
> + __field(size_t, size)
> + __field(__u32, data)
> + ),
> + TP_fast_assign(
> + __entry->master_idx = master->idx;
> + __entry->link = link;
> + __entry->id = id;
> + __entry->addr = addr;
> + __entry->size = size;
> + __entry->data = 0;
> + memcpy(&__entry->data, data, size);
> + ),
> + TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
> + __entry->master_idx,
> + __entry->link,
> + __entry->id,
> + __entry->addr,
> + __entry->size,
> + __entry->size, &__entry->data
> + )
> +);
>
> Looks like the second __entry->size, probably needs a type cast.
>
> Would something like:
>
> __entry->size,
> (int)__entry->size, &__entry->data
>
> work?
Steven,

Yes that did the trick. Thanks for the input

-Chris

>
> I haven't looked at the others, but I'm guessing they are probably
> similar issues.
>
> -- Steve
>
>> ^
>> ./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
>> trace_seq_printf(s, print); \
>> ^~~~~
>> ./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
>> PARAMS(print)); \
>> ^~~~~~
>> ./include/trace/events/fsi.h:37:1: note: in expansion of macro ‘TRACE_EVENT’
>> TRACE_EVENT(fsi_master_write,
>> ^~~~~~~~~~~
>> ./include/trace/events/fsi.h:58:2: note: in expansion of macro ‘TP_printk’
>> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
>> ^~~~~~~~~
>> In file included from ./include/trace/trace_events.h:377:0,
>> from ./include/trace/define_trace.h:95,
>> from ./include/trace/events/fsi.h:127,
>> from drivers/fsi/fsi-core.c:27:
>> ./include/trace/events/fsi.h:58:44: note: format string is defined here
>> TP_printk("fsi%d:%02d:%02d %08x[%zd] <= {%*ph}",
>> ~^~
>> In file included from ./include/trace/define_trace.h:95:0,
>> from ./include/trace/events/fsi.h:127,
>> from drivers/fsi/fsi-core.c:27:
>> ./include/trace/events/fsi.h: In function ‘trace_raw_output_fsi_master_rw_resul
>> ’:
>> ./include/trace/events/fsi.h:95:12: warning: field width specifier ‘*’ expects argument of type ‘int’, but argument 9 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
>> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
>> ^
>> ./include/trace/trace_events.h:343:22: note: in definition of macro ‘DECLARE_EVENT_CLASS’
>> trace_seq_printf(s, print); \
>> ^~~~~
>> ./include/trace/trace_events.h:65:9: note: in expansion of macro ‘PARAMS’
>> PARAMS(print)); \
>> ^~~~~~
>> ./include/trace/events/fsi.h:68:1: note: in expansion of macro ‘TRACE_EVENT’
>> TRACE_EVENT(fsi_master_rw_result,
>> ^~~~~~~~~~~
>> ./include/trace/events/fsi.h:95:2: note: in expansion of macro ‘TP_printk’
>> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
>> ^~~~~~~~~
>> In file included from ./include/trace/trace_events.h:377:0,
>> from ./include/trace/define_trace.h:95,
>> from ./include/trace/events/fsi.h:127,
>> from drivers/fsi/fsi-core.c:27:
>> ./include/trace/events/fsi.h:95:44: note: format string is defined here
>> TP_printk("fsi%d:%02d:%02d %08x[%zd] %s {%*ph} ret %d",
>> ~^~
>> CHK include/generated/uapi/linux/version.h
>> GEN .version
>> CHK include/generated/compile.h
>> UPD include/generated/compile.h
>> CC init/version.o
>> LD init/built-in.o
>> LD vmlinux.o
>> MODPOST vmlinux.o
>> KSYM .tmp_kallsyms1.o
>> KSYM .tmp_kallsyms2.o
>> LD vmlinux
>> SORTEX vmlinux
>> SYSMAP System.map
>> CC arch/x86/boot/version.o
>> Building modules, stage 2.
>> VOFFSET arch/x86/boot/compressed/../voffset.h
>> OBJCOPY arch/x86/boot/compressed/vmlinux.bin
>> RELOCS arch/x86/boot/compressed/vmlinux.relocs
>> CC arch/x86/boot/compressed/kaslr.o
>> GZIP arch/x86/boot/compressed/vmlinux.bin.gz
>> CC arch/x86/boot/compressed/misc.o
>> MODPOST 476 modules
>> WARNING: modpost: missing MODULE_LICENSE() in drivers/fsi/fsi-core.o
>> see include/linux/module.h for more information
>> MKPIGGY arch/x86/boot/compressed/piggy.S
>> AS arch/x86/boot/compressed/piggy.o
>> DATAREL arch/x86/boot/compressed/vmlinux
>> LD arch/x86/boot/compressed/vmlinux
>> ZOFFSET arch/x86/boot/zoffset.h
>> OBJCOPY arch/x86/boot/vmlinux.bin
>> AS arch/x86/boot/header.o
>> LD arch/x86/boot/setup.elf
>> OBJCOPY arch/x86/boot/setup.bin
>> BUILD arch/x86/boot/bzImage
>> Setup is 17532 bytes (padded to 17920 bytes).
>> System is 5445 kB
>> CRC 56d8089d
>> Kernel: arch/x86/boot/bzImage is ready (#387)
>> ERROR: "fsi_slave_claim_range" [drivers/fsi/fsi-master-hub.ko] undefined!
>> ERROR: "fsi_slave_read" [drivers/fsi/fsi-master-hub.ko] undefined!
>> ERROR: "fsi_slave_write" [drivers/fsi/fsi-master-hub.ko] undefined!
>> ERROR: "fsi_slave_release_range" [drivers/fsi/fsi-master-hub.ko] undefined!
>> make[1]: *** [scripts/Makefile.modpost:91: __modpost] Error 1
>> make: *** [Makefile:1214: modules] Error 2
>>
>>
>> Note, I'm using gcc 7.1.1, which might be what is showing the build warnings,
>> but that doesn't explain the build errors.
>>
>> So obviously, I can't take this as is :(
>>
>> thanks,
>>
>> greg k-h