Messages in this thread | | | Subject | Re: [PATCH v7 00/23] FSI device driver implementation | From | Christopher Bostic <> | Date | Mon, 5 Jun 2017 14:21:34 -0500 |
| |
On 6/3/17 4:25 PM, Steven Rostedt wrote: > On Sat, 3 Jun 2017 19:05:10 +0900 > Greg KH <gregkh@linuxfoundation.org> 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
| |