[PATCH v7 00/23] FSI device driver implementation
Christopher Bostic
cbostic at linux.vnet.ibm.com
Tue Jun 6 05:21:34 AEST 2017
On 6/3/17 4:25 PM, Steven Rostedt wrote:
> On Sat, 3 Jun 2017 19:05:10 +0900
> Greg KH <gregkh at 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
More information about the openbmc
mailing list