Re: [PATCH v7 00/23] FSI device driver implementation
From: Christopher Bostic <hidden>
Date: 2017-06-05 19:21:54
Also in:
linux-arm-kernel, lkml, openbmc
On 6/3/17 4:25 PM, Steven Rostedt wrote:
On Sat, 3 Jun 2017 19:05:10 +0900 Greg KH [off-list ref] wrote:quoted
On Wed, May 31, 2017 at 12:17:05PM -0500, Christopher Bostic wrote:quoted
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. -- Stevequoted
^ ./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
-- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html