mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-22 09:22:37 +00:00
0e9e79a13a
The scsi and cfg80211 plugins cast between unsigned long long and pointers, which is problematic for architectures where unsigned long long is wider than the native pointer size: linux/tools/lib/traceevent/plugin_scsi.c: In function ‘process_scsi_trace_parse_cdb’: linux/tools/lib/traceevent/plugin_scsi.c:408:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] scsi_trace_parse_cdb(s, (unsigned char *) args[1], args[2]); linux/tools/lib/traceevent/plugin_cfg80211.c: In function ‘process___le16_to_cpup’: linux/tools/lib/traceevent/plugin_cfg80211.c:11:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] uint16_t *val = (uint16_t *) args[0]; This patch adds an intermediate cast to unsigned long, silencing the warning. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Jiri Olsa <jolsa@redhat.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Will Deacon <will.deacon@arm.com> Link: http://lkml.kernel.org/r/1389782648-4417-3-git-send-email-mark.rutland@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
25 lines
582 B
C
25 lines
582 B
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <inttypes.h>
|
|
#include <endian.h>
|
|
#include "event-parse.h"
|
|
|
|
static unsigned long long
|
|
process___le16_to_cpup(struct trace_seq *s,
|
|
unsigned long long *args)
|
|
{
|
|
uint16_t *val = (uint16_t *) (unsigned long) args[0];
|
|
return val ? (long long) le16toh(*val) : 0;
|
|
}
|
|
|
|
int PEVENT_PLUGIN_LOADER(struct pevent *pevent)
|
|
{
|
|
pevent_register_print_function(pevent,
|
|
process___le16_to_cpup,
|
|
PEVENT_FUNC_ARG_INT,
|
|
"__le16_to_cpup",
|
|
PEVENT_FUNC_ARG_PTR,
|
|
PEVENT_FUNC_ARG_VOID);
|
|
return 0;
|
|
}
|