[PATCH v7 00/23] FSI device driver implementation

Steven Rostedt rostedt at goodmis.org
Sun Jun 4 07:25:28 AEST 2017


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?

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