HID: intel-ish-hid: add printf attribute to print_log()

Structure ishtp_device contains a logging function, print_log(), which
formats some of its parameters using vsnprintf(). Add a __printf
attribute to this function field (and to ish_event_tracer()) in order to
detect at compile time issues related to the printf-like formatting.

While at it, make format parameter a const pointer as print_log() is not
supposed to modify it.

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Nicolas Iooss 2016-12-22 11:09:09 +01:00 committed by Jiri Kosina
parent f39fdf2ab8
commit 0aae34fa31
2 changed files with 4 additions and 2 deletions

View File

@ -47,7 +47,8 @@ MODULE_DEVICE_TABLE(pci, ish_pci_tbl);
* *
* Callback to direct log messages to Linux trace buffers * Callback to direct log messages to Linux trace buffers
*/ */
static void ish_event_tracer(struct ishtp_device *dev, char *format, ...) static __printf(2, 3)
void ish_event_tracer(struct ishtp_device *dev, const char *format, ...)
{ {
if (trace_ishtp_dump_enabled()) { if (trace_ishtp_dump_enabled()) {
va_list args; va_list args;

View File

@ -238,7 +238,8 @@ struct ishtp_device {
uint64_t ishtp_host_dma_rx_buf_phys; uint64_t ishtp_host_dma_rx_buf_phys;
/* Dump to trace buffers if enabled*/ /* Dump to trace buffers if enabled*/
void (*print_log)(struct ishtp_device *dev, char *format, ...); __printf(2, 3) void (*print_log)(struct ishtp_device *dev,
const char *format, ...);
/* Debug stats */ /* Debug stats */
unsigned int ipc_rx_cnt; unsigned int ipc_rx_cnt;