linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands
@ 2019-04-12 18:49 Raul E Rangel
  2019-04-12 19:04 ` Steven Rostedt
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Raul E Rangel @ 2019-04-12 18:49 UTC (permalink / raw)
  To: linux-trace-devel
  Cc: eballetbo, zwisler, djkurtz, Raul E Rangel,
	Enric Balletbo i Serra, Guenter Roeck, linux-kernel,
	Benson Leung

This is useful to see which EC commands are being executed and when.

To enable:

    echo 'cros_ec:*' >> /sys/kernel/debug/tracing/set_event

Example:

    /* cros_ec_cmd: version: 0, command: GET_VERSION */
    /* cros_ec_cmd: version: 0, command: GET_PROTOCOL_INFO */
    /* cros_ec_cmd: version: 1, command: GET_CMD_VERSIONS */
    /* cros_ec_cmd: version: 1, command: USB_PD_CONTROL */

Signed-off-by: Raul E Rangel <rrangel@chromium.org>
---

Changes in v2:
- Changed comment style to match other cros_ec files.
- Fixed commit tag.

 drivers/platform/chrome/Makefile        |   4 +-
 drivers/platform/chrome/cros_ec_proto.c |   4 +
 drivers/platform/chrome/cros_ec_trace.c | 161 ++++++++++++++++++++++++
 drivers/platform/chrome/cros_ec_trace.h |  51 ++++++++
 4 files changed, 219 insertions(+), 1 deletion(-)
 create mode 100644 drivers/platform/chrome/cros_ec_trace.c
 create mode 100644 drivers/platform/chrome/cros_ec_trace.h

diff --git a/drivers/platform/chrome/Makefile b/drivers/platform/chrome/Makefile
index 1e2f0029b597..e542268454a4 100644
--- a/drivers/platform/chrome/Makefile
+++ b/drivers/platform/chrome/Makefile
@@ -3,12 +3,14 @@
 obj-$(CONFIG_CHROMEOS_LAPTOP)		+= chromeos_laptop.o
 obj-$(CONFIG_CHROMEOS_PSTORE)		+= chromeos_pstore.o
 obj-$(CONFIG_CHROMEOS_TBMC)		+= chromeos_tbmc.o
+# tell define_trace.h where to find the cros ec trace header
+CFLAGS_cros_ec_trace.o:=		-I$(src)
 obj-$(CONFIG_CROS_EC_I2C)		+= cros_ec_i2c.o
 obj-$(CONFIG_CROS_EC_SPI)		+= cros_ec_spi.o
 cros_ec_lpcs-objs			:= cros_ec_lpc.o cros_ec_lpc_reg.o
 cros_ec_lpcs-$(CONFIG_CROS_EC_LPC_MEC)	+= cros_ec_lpc_mec.o
 obj-$(CONFIG_CROS_EC_LPC)		+= cros_ec_lpcs.o
-obj-$(CONFIG_CROS_EC_PROTO)		+= cros_ec_proto.o
+obj-$(CONFIG_CROS_EC_PROTO)		+= cros_ec_proto.o cros_ec_trace.o
 obj-$(CONFIG_CROS_KBD_LED_BACKLIGHT)	+= cros_kbd_led_backlight.o
 obj-$(CONFIG_CROS_EC_LIGHTBAR)		+= cros_ec_lightbar.o
 obj-$(CONFIG_CROS_EC_VBC)		+= cros_ec_vbc.o
diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c
index 97a068dff192..3d02c8259ac6 100644
--- a/drivers/platform/chrome/cros_ec_proto.c
+++ b/drivers/platform/chrome/cros_ec_proto.c
@@ -10,6 +10,8 @@
 #include <linux/slab.h>
 #include <asm/unaligned.h>
 
+#include "cros_ec_trace.h"
+
 #define EC_COMMAND_RETRIES	50
 
 static int prepare_packet(struct cros_ec_device *ec_dev,
@@ -51,6 +53,8 @@ static int send_command(struct cros_ec_device *ec_dev,
 	int ret;
 	int (*xfer_fxn)(struct cros_ec_device *ec, struct cros_ec_command *msg);
 
+	trace_cros_ec_cmd(msg);
+
 	if (ec_dev->proto_version > 2)
 		xfer_fxn = ec_dev->pkt_xfer;
 	else
diff --git a/drivers/platform/chrome/cros_ec_trace.c b/drivers/platform/chrome/cros_ec_trace.c
new file mode 100644
index 000000000000..335bfce514d7
--- /dev/null
+++ b/drivers/platform/chrome/cros_ec_trace.c
@@ -0,0 +1,161 @@
+// SPDX-License-Identifier: GPL-2.0
+// Trace events for the ChromeOS Embedded Controller
+//
+// Copyright 2019 Google LLC.
+
+#define ec_cmds \
+	{EC_CMD_PROTO_VERSION, "PROTO_VERSION"}, \
+	{EC_CMD_HELLO, "HELLO"}, \
+	{EC_CMD_GET_VERSION, "GET_VERSION"}, \
+	{EC_CMD_READ_TEST, "READ_TEST"}, \
+	{EC_CMD_GET_BUILD_INFO, "GET_BUILD_INFO"}, \
+	{EC_CMD_GET_CHIP_INFO, "GET_CHIP_INFO"}, \
+	{EC_CMD_GET_BOARD_VERSION, "GET_BOARD_VERSION"}, \
+	{EC_CMD_READ_MEMMAP, "READ_MEMMAP"}, \
+	{EC_CMD_GET_CMD_VERSIONS, "GET_CMD_VERSIONS"}, \
+	{EC_CMD_GET_COMMS_STATUS, "GET_COMMS_STATUS"}, \
+	{EC_CMD_TEST_PROTOCOL, "TEST_PROTOCOL"}, \
+	{EC_CMD_GET_PROTOCOL_INFO, "GET_PROTOCOL_INFO"}, \
+	{EC_CMD_GSV_PAUSE_IN_S5, "GSV_PAUSE_IN_S5"}, \
+	{EC_CMD_GET_FEATURES, "GET_FEATURES"}, \
+	{EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
+	{EC_CMD_SET_SKU_ID, "SET_SKU_ID"}, \
+	{EC_CMD_FLASH_INFO, "FLASH_INFO"}, \
+	{EC_CMD_FLASH_READ, "FLASH_READ"}, \
+	{EC_CMD_FLASH_WRITE, "FLASH_WRITE"}, \
+	{EC_CMD_FLASH_ERASE, "FLASH_ERASE"}, \
+	{EC_CMD_FLASH_PROTECT, "FLASH_PROTECT"}, \
+	{EC_CMD_FLASH_REGION_INFO, "FLASH_REGION_INFO"}, \
+	{EC_CMD_VBNV_CONTEXT, "VBNV_CONTEXT"}, \
+	{EC_CMD_FLASH_SPI_INFO, "FLASH_SPI_INFO"}, \
+	{EC_CMD_FLASH_SELECT, "FLASH_SELECT"}, \
+	{EC_CMD_PWM_GET_FAN_TARGET_RPM, "PWM_GET_FAN_TARGET_RPM"}, \
+	{EC_CMD_PWM_SET_FAN_TARGET_RPM, "PWM_SET_FAN_TARGET_RPM"}, \
+	{EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT, "PWM_GET_KEYBOARD_BACKLIGHT"}, \
+	{EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT, "PWM_SET_KEYBOARD_BACKLIGHT"}, \
+	{EC_CMD_PWM_SET_FAN_DUTY, "PWM_SET_FAN_DUTY"}, \
+	{EC_CMD_PWM_SET_DUTY, "PWM_SET_DUTY"}, \
+	{EC_CMD_PWM_GET_DUTY, "PWM_GET_DUTY"}, \
+	{EC_CMD_LIGHTBAR_CMD, "LIGHTBAR_CMD"}, \
+	{EC_CMD_LED_CONTROL, "LED_CONTROL"}, \
+	{EC_CMD_VBOOT_HASH, "VBOOT_HASH"}, \
+	{EC_CMD_MOTION_SENSE_CMD, "MOTION_SENSE_CMD"}, \
+	{EC_CMD_FORCE_LID_OPEN, "FORCE_LID_OPEN"}, \
+	{EC_CMD_CONFIG_POWER_BUTTON, "CONFIG_POWER_BUTTON"}, \
+	{EC_CMD_USB_CHARGE_SET_MODE, "USB_CHARGE_SET_MODE"}, \
+	{EC_CMD_PSTORE_INFO, "PSTORE_INFO"}, \
+	{EC_CMD_PSTORE_READ, "PSTORE_READ"}, \
+	{EC_CMD_PSTORE_WRITE, "PSTORE_WRITE"}, \
+	{EC_CMD_RTC_GET_VALUE, "RTC_GET_VALUE"}, \
+	{EC_CMD_RTC_GET_ALARM, "RTC_GET_ALARM"}, \
+	{EC_CMD_RTC_SET_VALUE, "RTC_SET_VALUE"}, \
+	{EC_CMD_RTC_SET_ALARM, "RTC_SET_ALARM"}, \
+	{EC_CMD_PORT80_READ, "PORT80_READ"}, \
+	{EC_CMD_VSTORE_INFO, "VSTORE_INFO"}, \
+	{EC_CMD_VSTORE_READ, "VSTORE_READ"}, \
+	{EC_CMD_VSTORE_WRITE, "VSTORE_WRITE"}, \
+	{EC_CMD_THERMAL_SET_THRESHOLD, "THERMAL_SET_THRESHOLD"}, \
+	{EC_CMD_THERMAL_GET_THRESHOLD, "THERMAL_GET_THRESHOLD"}, \
+	{EC_CMD_THERMAL_AUTO_FAN_CTRL, "THERMAL_AUTO_FAN_CTRL"}, \
+	{EC_CMD_TMP006_GET_CALIBRATION, "TMP006_GET_CALIBRATION"}, \
+	{EC_CMD_TMP006_SET_CALIBRATION, "TMP006_SET_CALIBRATION"}, \
+	{EC_CMD_TMP006_GET_RAW, "TMP006_GET_RAW"}, \
+	{EC_CMD_MKBP_STATE, "MKBP_STATE"}, \
+	{EC_CMD_MKBP_INFO, "MKBP_INFO"}, \
+	{EC_CMD_MKBP_SIMULATE_KEY, "MKBP_SIMULATE_KEY"}, \
+	{EC_CMD_MKBP_SET_CONFIG, "MKBP_SET_CONFIG"}, \
+	{EC_CMD_MKBP_GET_CONFIG, "MKBP_GET_CONFIG"}, \
+	{EC_CMD_KEYSCAN_SEQ_CTRL, "KEYSCAN_SEQ_CTRL"}, \
+	{EC_CMD_GET_NEXT_EVENT, "GET_NEXT_EVENT"}, \
+	{EC_CMD_KEYBOARD_FACTORY_TEST, "KEYBOARD_FACTORY_TEST"}, \
+	{EC_CMD_TEMP_SENSOR_GET_INFO, "TEMP_SENSOR_GET_INFO"}, \
+	{EC_CMD_ACPI_READ, "ACPI_READ"}, \
+	{EC_CMD_ACPI_WRITE, "ACPI_WRITE"}, \
+	{EC_CMD_ACPI_BURST_ENABLE, "ACPI_BURST_ENABLE"}, \
+	{EC_CMD_ACPI_BURST_DISABLE, "ACPI_BURST_DISABLE"}, \
+	{EC_CMD_ACPI_QUERY_EVENT, "ACPI_QUERY_EVENT"}, \
+	{EC_CMD_HOST_EVENT_GET_B, "HOST_EVENT_GET_B"}, \
+	{EC_CMD_HOST_EVENT_GET_SMI_MASK, "HOST_EVENT_GET_SMI_MASK"}, \
+	{EC_CMD_HOST_EVENT_GET_SCI_MASK, "HOST_EVENT_GET_SCI_MASK"}, \
+	{EC_CMD_HOST_EVENT_SET_SMI_MASK, "HOST_EVENT_SET_SMI_MASK"}, \
+	{EC_CMD_HOST_EVENT_SET_SCI_MASK, "HOST_EVENT_SET_SCI_MASK"}, \
+	{EC_CMD_HOST_EVENT_CLEAR, "HOST_EVENT_CLEAR"}, \
+	{EC_CMD_HOST_EVENT_GET_WAKE_MASK, "HOST_EVENT_GET_WAKE_MASK"}, \
+	{EC_CMD_HOST_EVENT_SET_WAKE_MASK, "HOST_EVENT_SET_WAKE_MASK"}, \
+	{EC_CMD_HOST_EVENT_CLEAR_B, "HOST_EVENT_CLEAR_B"}, \
+	{EC_CMD_SWITCH_ENABLE_BKLIGHT, "SWITCH_ENABLE_BKLIGHT"}, \
+	{EC_CMD_SWITCH_ENABLE_WIRELESS, "SWITCH_ENABLE_WIRELESS"}, \
+	{EC_CMD_GPIO_SET, "GPIO_SET"}, \
+	{EC_CMD_GPIO_GET, "GPIO_GET"}, \
+	{EC_CMD_I2C_READ, "I2C_READ"}, \
+	{EC_CMD_I2C_WRITE, "I2C_WRITE"}, \
+	{EC_CMD_CHARGE_CONTROL, "CHARGE_CONTROL"}, \
+	{EC_CMD_CONSOLE_SNAPSHOT, "CONSOLE_SNAPSHOT"}, \
+	{EC_CMD_CONSOLE_READ, "CONSOLE_READ"}, \
+	{EC_CMD_BATTERY_CUT_OFF, "BATTERY_CUT_OFF"}, \
+	{EC_CMD_USB_MUX, "USB_MUX"}, \
+	{EC_CMD_LDO_SET, "LDO_SET"}, \
+	{EC_CMD_LDO_GET, "LDO_GET"}, \
+	{EC_CMD_POWER_INFO, "POWER_INFO"}, \
+	{EC_CMD_I2C_PASSTHRU, "I2C_PASSTHRU"}, \
+	{EC_CMD_HANG_DETECT, "HANG_DETECT"}, \
+	{EC_CMD_CHARGE_STATE, "CHARGE_STATE"}, \
+	{EC_CMD_CHARGE_CURRENT_LIMIT, "CHARGE_CURRENT_LIMIT"}, \
+	{EC_CMD_EXTERNAL_POWER_LIMIT, "EXTERNAL_POWER_LIMIT"}, \
+	{EC_CMD_OVERRIDE_DEDICATED_CHARGER_LIMIT, \
+		"OVERRIDE_DEDICATED_CHARGER_LIMIT"}, \
+	{EC_CMD_HOST_EVENT, "HOST_EVENT"}, \
+	{EC_CMD_HIBERNATION_DELAY, "HIBERNATION_DELAY"}, \
+	{EC_CMD_HOST_SLEEP_EVENT, "HOST_SLEEP_EVENT"}, \
+	{EC_CMD_DEVICE_EVENT, "DEVICE_EVENT"}, \
+	{EC_CMD_SB_READ_WORD, "SB_READ_WORD"}, \
+	{EC_CMD_SB_WRITE_WORD, "SB_WRITE_WORD"}, \
+	{EC_CMD_SB_READ_BLOCK, "SB_READ_BLOCK"}, \
+	{EC_CMD_SB_WRITE_BLOCK, "SB_WRITE_BLOCK"}, \
+	{EC_CMD_BATTERY_VENDOR_PARAM, "BATTERY_VENDOR_PARAM"}, \
+	{EC_CMD_SB_FW_UPDATE, "SB_FW_UPDATE"}, \
+	{EC_CMD_ENTERING_MODE, "ENTERING_MODE"}, \
+	{EC_CMD_I2C_PASSTHRU_PROTECT, "I2C_PASSTHRU_PROTECT"}, \
+	{EC_CMD_REBOOT, "REBOOT"}, \
+	{EC_CMD_REBOOT_EC, "REBOOT_EC"}, \
+	{EC_CMD_GET_PANIC_INFO, "GET_PANIC_INFO"}, \
+	{EC_CMD_RESEND_RESPONSE, "RESEND_RESPONSE"}, \
+	{EC_CMD_VERSION0, "VERSION0"}, \
+	{EC_CMD_PD_EXCHANGE_STATUS, "PD_EXCHANGE_STATUS"}, \
+	{EC_CMD_USB_PD_CONTROL, "USB_PD_CONTROL"}, \
+	{EC_CMD_USB_PD_PORTS, "USB_PD_PORTS"}, \
+	{EC_CMD_USB_PD_POWER_INFO, "USB_PD_POWER_INFO"}, \
+	{EC_CMD_PD_HOST_EVENT_STATUS, "PD_HOST_EVENT_STATUS"}, \
+	{EC_CMD_USB_PD_FW_UPDATE, "USB_PD_FW_UPDATE"}, \
+	{EC_CMD_USB_PD_RW_HASH_ENTRY, "USB_PD_RW_HASH_ENTRY"}, \
+	{EC_CMD_USB_PD_DEV_INFO, "USB_PD_DEV_INFO"}, \
+	{EC_CMD_USB_PD_DISCOVERY, "USB_PD_DISCOVERY"}, \
+	{EC_CMD_PD_CHARGE_PORT_OVERRIDE, "PD_CHARGE_PORT_OVERRIDE"}, \
+	{EC_CMD_PD_GET_LOG_ENTRY, "PD_GET_LOG_ENTRY"}, \
+	{EC_CMD_USB_PD_GET_AMODE, "USB_PD_GET_AMODE"}, \
+	{EC_CMD_USB_PD_SET_AMODE, "USB_PD_SET_AMODE"}, \
+	{EC_CMD_PD_WRITE_LOG_ENTRY, "PD_WRITE_LOG_ENTRY"}, \
+	{EC_CMD_PD_CONTROL, "PD_CONTROL"}, \
+	{EC_CMD_USB_PD_MUX_INFO, "USB_PD_MUX_INFO"}, \
+	{EC_CMD_PD_CHIP_INFO, "PD_CHIP_INFO"}, \
+	{EC_CMD_RWSIG_CHECK_STATUS, "RWSIG_CHECK_STATUS"}, \
+	{EC_CMD_RWSIG_ACTION, "RWSIG_ACTION"}, \
+	{EC_CMD_CR51_BASE, "CR51_BASE"}, \
+	{EC_CMD_CR51_LAST, "CR51_LAST"}, \
+	{EC_CMD_FP_PASSTHRU, "FP_PASSTHRU"}, \
+	{EC_CMD_FP_SENSOR_CONFIG, "FP_SENSOR_CONFIG"}, \
+	{EC_CMD_FP_MODE, "FP_MODE"}, \
+	{EC_CMD_FP_INFO, "FP_INFO"}, \
+	{EC_CMD_FP_FRAME, "FP_FRAME"}, \
+	{EC_CMD_TP_SELF_TEST, "TP_SELF_TEST"}, \
+	{EC_CMD_TP_FRAME_INFO, "TP_FRAME_INFO"}, \
+	{EC_CMD_TP_FRAME_SNAPSHOT, "TP_FRAME_SNAPSHOT"}, \
+	{EC_CMD_TP_FRAME_GET, "TP_FRAME_GET"}, \
+	{EC_CMD_BATTERY_GET_STATIC, "BATTERY_GET_STATIC"}, \
+	{EC_CMD_BATTERY_GET_DYNAMIC, "BATTERY_GET_DYNAMIC"}, \
+	{EC_CMD_CHARGER_CONTROL, "CHARGER_CONTROL"}, \
+	{EC_CMD_BOARD_SPECIFIC_BASE, "BOARD_SPECIFIC_BASE"}, \
+	{EC_CMD_BOARD_SPECIFIC_LAST, "BOARD_SPECIFIC_LAST"}
+
+#define CREATE_TRACE_POINTS
+#include "cros_ec_trace.h"
diff --git a/drivers/platform/chrome/cros_ec_trace.h b/drivers/platform/chrome/cros_ec_trace.h
new file mode 100644
index 000000000000..86ef52f96fd4
--- /dev/null
+++ b/drivers/platform/chrome/cros_ec_trace.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Trace events for the ChromeOS Embedded Controller
+ *
+ * Copyright 2019 Google LLC.
+ */
+
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM cros_ec
+
+#if !defined(_CROS_EC_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
+#define _CROS_EC_TRACE_H_
+
+#include <linux/types.h>
+#include <linux/mfd/cros_ec.h>
+
+#include <linux/tracepoint.h>
+
+DECLARE_EVENT_CLASS(cros_ec_cmd_class,
+	TP_PROTO(struct cros_ec_command *cmd),
+	TP_ARGS(cmd),
+	TP_STRUCT__entry(
+		__field(uint32_t, version)
+		__field(uint32_t, command)
+	),
+	TP_fast_assign(
+		__entry->version = cmd->version;
+		__entry->command = cmd->command;
+	),
+	TP_printk("version: %u, command: %s", __entry->version,
+		  __print_symbolic(__entry->command, ec_cmds))
+);
+
+
+DEFINE_EVENT(cros_ec_cmd_class, cros_ec_cmd,
+	TP_PROTO(struct cros_ec_command *cmd),
+	TP_ARGS(cmd)
+);
+
+
+#endif /* _CROS_EC_TRACE_H_ */
+
+/* this part must be outside header guard */
+
+#undef TRACE_INCLUDE_PATH
+#define TRACE_INCLUDE_PATH .
+
+#undef TRACE_INCLUDE_FILE
+#define TRACE_INCLUDE_FILE cros_ec_trace
+
+#include <trace/define_trace.h>
-- 
2.21.0.392.gf8f6787159e-goog


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands
  2019-04-12 18:49 [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands Raul E Rangel
@ 2019-04-12 19:04 ` Steven Rostedt
  2019-04-12 19:47   ` Raul Rangel
  2019-04-15 13:05 ` kbuild test robot
  2019-04-15 13:24 ` kbuild test robot
  2 siblings, 1 reply; 5+ messages in thread
From: Steven Rostedt @ 2019-04-12 19:04 UTC (permalink / raw)
  To: Raul E Rangel
  Cc: linux-trace-devel, eballetbo, zwisler, djkurtz,
	Enric Balletbo i Serra, Guenter Roeck, linux-kernel,
	Benson Leung

On Fri, 12 Apr 2019 12:49:44 -0600
Raul E Rangel <rrangel@chromium.org> wrote:

> +#define ec_cmds \
> +	{EC_CMD_PROTO_VERSION, "PROTO_VERSION"}, \
> +	{EC_CMD_HELLO, "HELLO"}, \
> +	{EC_CMD_GET_VERSION, "GET_VERSION"}, \
> +	{EC_CMD_READ_TEST, "READ_TEST"}, \
> +	{EC_CMD_GET_BUILD_INFO, "GET_BUILD_INFO"}, \
> +	{EC_CMD_GET_CHIP_INFO, "GET_CHIP_INFO"}, \
> +	{EC_CMD_GET_BOARD_VERSION, "GET_BOARD_VERSION"}, \
> +	{EC_CMD_READ_MEMMAP, "READ_MEMMAP"}, \
> +	{EC_CMD_GET_CMD_VERSIONS, "GET_CMD_VERSIONS"}, \
> +	{EC_CMD_GET_COMMS_STATUS, "GET_COMMS_STATUS"}, \
> +	{EC_CMD_TEST_PROTOCOL, "TEST_PROTOCOL"}, \
> +	{EC_CMD_GET_PROTOCOL_INFO, "GET_PROTOCOL_INFO"}, \
> +	{EC_CMD_GSV_PAUSE_IN_S5, "GSV_PAUSE_IN_S5"}, \
> +	{EC_CMD_GET_FEATURES, "GET_FEATURES"}, \

Usually, if I have something like this, I would do:


#define ec_cmds \
	EC(PROTO_VERSION), \
	EC(HELLO), \
	EC(GET_VERSION), \
	EC(READ_TEST), \
	[...]

Then:

#define EC(a) {EC_CMD_##a, #a}

and then ec_cmds ends up with the same result with much less typing and
little risk for copy past errors.

-- Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands
  2019-04-12 19:04 ` Steven Rostedt
@ 2019-04-12 19:47   ` Raul Rangel
  0 siblings, 0 replies; 5+ messages in thread
From: Raul Rangel @ 2019-04-12 19:47 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: linux-trace-devel, eballetbo, zwisler, djkurtz,
	Enric Balletbo i Serra, Guenter Roeck, linux-kernel,
	Benson Leung

On Fri, Apr 12, 2019 at 03:04:38PM -0400, Steven Rostedt wrote:
> On Fri, 12 Apr 2019 12:49:44 -0600
> Raul E Rangel <rrangel@chromium.org> wrote:
> 
> > +#define ec_cmds \
> > +	{EC_CMD_PROTO_VERSION, "PROTO_VERSION"}, \
> > +	{EC_CMD_HELLO, "HELLO"}, \
> > +	{EC_CMD_GET_VERSION, "GET_VERSION"}, \
> > +	{EC_CMD_READ_TEST, "READ_TEST"}, \
> > +	{EC_CMD_GET_BUILD_INFO, "GET_BUILD_INFO"}, \
> > +	{EC_CMD_GET_CHIP_INFO, "GET_CHIP_INFO"}, \
> > +	{EC_CMD_GET_BOARD_VERSION, "GET_BOARD_VERSION"}, \
> > +	{EC_CMD_READ_MEMMAP, "READ_MEMMAP"}, \
> > +	{EC_CMD_GET_CMD_VERSIONS, "GET_CMD_VERSIONS"}, \
> > +	{EC_CMD_GET_COMMS_STATUS, "GET_COMMS_STATUS"}, \
> > +	{EC_CMD_TEST_PROTOCOL, "TEST_PROTOCOL"}, \
> > +	{EC_CMD_GET_PROTOCOL_INFO, "GET_PROTOCOL_INFO"}, \
> > +	{EC_CMD_GSV_PAUSE_IN_S5, "GSV_PAUSE_IN_S5"}, \
> > +	{EC_CMD_GET_FEATURES, "GET_FEATURES"}, \
> 
> Usually, if I have something like this, I would do:
> 
> 
> #define ec_cmds \
> 	EC(PROTO_VERSION), \
> 	EC(HELLO), \
> 	EC(GET_VERSION), \
> 	EC(READ_TEST), \
> 	[...]
> 
> Then:
> 
> #define EC(a) {EC_CMD_##a, #a}
> 
> and then ec_cmds ends up with the same result with much less typing and
> little risk for copy past errors.
I generally don't like doing that because it breaks my editors Goto
Definition, but I can send out a patch that uses the macro.

Thanks,
Raul
> 
> -- Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands
  2019-04-12 18:49 [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands Raul E Rangel
  2019-04-12 19:04 ` Steven Rostedt
@ 2019-04-15 13:05 ` kbuild test robot
  2019-04-15 13:24 ` kbuild test robot
  2 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2019-04-15 13:05 UTC (permalink / raw)
  To: Raul E Rangel
  Cc: kbuild-all, linux-trace-devel, eballetbo, zwisler, djkurtz,
	Raul E Rangel, Enric Balletbo i Serra, Guenter Roeck,
	linux-kernel, Benson Leung

[-- Attachment #1: Type: text/plain, Size: 29180 bytes --]

Hi Raul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.1-rc5 next-20190412]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Raul-E-Rangel/chrome-platform-cros_ec_proto-Add-trace-event-to-trace-EC-commands/20190415-200456
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=riscv 

All errors (new ones prefixed by >>):

   In file included from include/trace/define_trace.h:96,
                    from drivers/platform/chrome/cros_ec_trace.h:51,
                    from drivers/platform/chrome/cros_ec_trace.c:161:
   drivers/platform/chrome/./cros_ec_trace.h: In function 'trace_raw_output_cros_ec_cmd_class':
>> drivers/platform/chrome/cros_ec_trace.c:21:3: error: 'EC_CMD_GET_SKU_ID' undeclared (first use in this function); did you mean 'EC_CMD_GET_VERSION'?
     {EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
      ^~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
   drivers/platform/chrome/cros_ec_trace.c:21:3: note: each undeclared identifier is reported only once for each function it appears in
     {EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
      ^~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:22:3: error: 'EC_CMD_SET_SKU_ID' undeclared (first use in this function); did you mean 'EC_CMD_CEC_SET'?
     {EC_CMD_SET_SKU_ID, "SET_SKU_ID"}, \
      ^~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:30:3: error: 'EC_CMD_FLASH_SPI_INFO' undeclared (first use in this function); did you mean 'EC_CMD_FLASH_INFO'?
     {EC_CMD_FLASH_SPI_INFO, "FLASH_SPI_INFO"}, \
      ^~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:31:3: error: 'EC_CMD_FLASH_SELECT' undeclared (first use in this function); did you mean 'EC_CMD_FLASH_PROTECT'?
     {EC_CMD_FLASH_SELECT, "FLASH_SELECT"}, \
      ^~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:43:3: error: 'EC_CMD_FORCE_LID_OPEN' undeclared (first use in this function); did you mean 'EC_MKBP_LID_OPEN'?
     {EC_CMD_FORCE_LID_OPEN, "FORCE_LID_OPEN"}, \
      ^~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:44:3: error: 'EC_CMD_CONFIG_POWER_BUTTON' undeclared (first use in this function); did you mean 'EC_MKBP_POWER_BUTTON'?
     {EC_CMD_CONFIG_POWER_BUTTON, "CONFIG_POWER_BUTTON"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:54:3: error: 'EC_CMD_VSTORE_INFO' undeclared (first use in this function); did you mean 'EC_CMD_PSTORE_INFO'?
     {EC_CMD_VSTORE_INFO, "VSTORE_INFO"}, \
      ^~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:55:3: error: 'EC_CMD_VSTORE_READ' undeclared (first use in this function); did you mean 'EC_CMD_PSTORE_READ'?
     {EC_CMD_VSTORE_READ, "VSTORE_READ"}, \
      ^~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:56:3: error: 'EC_CMD_VSTORE_WRITE' undeclared (first use in this function); did you mean 'EC_CMD_PSTORE_WRITE'?
     {EC_CMD_VSTORE_WRITE, "VSTORE_WRITE"}, \
      ^~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:70:3: error: 'EC_CMD_KEYBOARD_FACTORY_TEST' undeclared (first use in this function); did you mean 'EC_CMD_READ_TEST'?
     {EC_CMD_KEYBOARD_FACTORY_TEST, "KEYBOARD_FACTORY_TEST"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:74:3: error: 'EC_CMD_ACPI_BURST_ENABLE' undeclared (first use in this function); did you mean 'EC_CODEC_I2S_ENABLE'?
     {EC_CMD_ACPI_BURST_ENABLE, "ACPI_BURST_ENABLE"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:75:3: error: 'EC_CMD_ACPI_BURST_DISABLE' undeclared (first use in this function); did you mean 'EC_CMD_ACPI_WRITE'?
     {EC_CMD_ACPI_BURST_DISABLE, "ACPI_BURST_DISABLE"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:105:3: error: 'EC_CMD_OVERRIDE_DEDICATED_CHARGER_LIMIT' undeclared (first use in this function)
     {EC_CMD_OVERRIDE_DEDICATED_CHARGER_LIMIT, \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:107:3: error: 'EC_CMD_HOST_EVENT' undeclared (first use in this function); did you mean 'EC_MEMMAP_HOST_EVENTS'?
     {EC_CMD_HOST_EVENT, "HOST_EVENT"}, \
      ^~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:108:3: error: 'EC_CMD_HIBERNATION_DELAY' undeclared (first use in this function); did you mean 'EC_CMD_VBNV_CONTEXT'?
     {EC_CMD_HIBERNATION_DELAY, "HIBERNATION_DELAY"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:110:3: error: 'EC_CMD_DEVICE_EVENT' undeclared (first use in this function); did you mean 'EC_CMD_GET_NEXT_EVENT'?
     {EC_CMD_DEVICE_EVENT, "DEVICE_EVENT"}, \
      ^~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:116:3: error: 'EC_CMD_SB_FW_UPDATE' undeclared (first use in this function); did you mean 'EC_CMD_USB_PD_PORTS'?
     {EC_CMD_SB_FW_UPDATE, "SB_FW_UPDATE"}, \
      ^~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:117:3: error: 'EC_CMD_ENTERING_MODE' undeclared (first use in this function); did you mean 'EC_CMD_POWER_INFO'?
     {EC_CMD_ENTERING_MODE, "ENTERING_MODE"}, \
      ^~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:118:3: error: 'EC_CMD_I2C_PASSTHRU_PROTECT' undeclared (first use in this function); did you mean 'EC_CMD_I2C_PASSTHRU'?
     {EC_CMD_I2C_PASSTHRU_PROTECT, "I2C_PASSTHRU_PROTECT"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:128:3: error: 'EC_CMD_PD_HOST_EVENT_STATUS' undeclared (first use in this function); did you mean 'EC_CMD_HOST_EVENT_GET_B'?
     {EC_CMD_PD_HOST_EVENT_STATUS, "PD_HOST_EVENT_STATUS"}, \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
   drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
   drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~

vim +21 drivers/platform/chrome/cros_ec_trace.c

     5	
     6	#define ec_cmds \
     7		{EC_CMD_PROTO_VERSION, "PROTO_VERSION"}, \
     8		{EC_CMD_HELLO, "HELLO"}, \
     9		{EC_CMD_GET_VERSION, "GET_VERSION"}, \
    10		{EC_CMD_READ_TEST, "READ_TEST"}, \
    11		{EC_CMD_GET_BUILD_INFO, "GET_BUILD_INFO"}, \
    12		{EC_CMD_GET_CHIP_INFO, "GET_CHIP_INFO"}, \
    13		{EC_CMD_GET_BOARD_VERSION, "GET_BOARD_VERSION"}, \
    14		{EC_CMD_READ_MEMMAP, "READ_MEMMAP"}, \
    15		{EC_CMD_GET_CMD_VERSIONS, "GET_CMD_VERSIONS"}, \
    16		{EC_CMD_GET_COMMS_STATUS, "GET_COMMS_STATUS"}, \
    17		{EC_CMD_TEST_PROTOCOL, "TEST_PROTOCOL"}, \
    18		{EC_CMD_GET_PROTOCOL_INFO, "GET_PROTOCOL_INFO"}, \
    19		{EC_CMD_GSV_PAUSE_IN_S5, "GSV_PAUSE_IN_S5"}, \
    20		{EC_CMD_GET_FEATURES, "GET_FEATURES"}, \
  > 21		{EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
  > 22		{EC_CMD_SET_SKU_ID, "SET_SKU_ID"}, \
    23		{EC_CMD_FLASH_INFO, "FLASH_INFO"}, \
    24		{EC_CMD_FLASH_READ, "FLASH_READ"}, \
    25		{EC_CMD_FLASH_WRITE, "FLASH_WRITE"}, \
    26		{EC_CMD_FLASH_ERASE, "FLASH_ERASE"}, \
    27		{EC_CMD_FLASH_PROTECT, "FLASH_PROTECT"}, \
    28		{EC_CMD_FLASH_REGION_INFO, "FLASH_REGION_INFO"}, \
    29		{EC_CMD_VBNV_CONTEXT, "VBNV_CONTEXT"}, \
  > 30		{EC_CMD_FLASH_SPI_INFO, "FLASH_SPI_INFO"}, \
  > 31		{EC_CMD_FLASH_SELECT, "FLASH_SELECT"}, \
    32		{EC_CMD_PWM_GET_FAN_TARGET_RPM, "PWM_GET_FAN_TARGET_RPM"}, \
    33		{EC_CMD_PWM_SET_FAN_TARGET_RPM, "PWM_SET_FAN_TARGET_RPM"}, \
    34		{EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT, "PWM_GET_KEYBOARD_BACKLIGHT"}, \
    35		{EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT, "PWM_SET_KEYBOARD_BACKLIGHT"}, \
    36		{EC_CMD_PWM_SET_FAN_DUTY, "PWM_SET_FAN_DUTY"}, \
    37		{EC_CMD_PWM_SET_DUTY, "PWM_SET_DUTY"}, \
    38		{EC_CMD_PWM_GET_DUTY, "PWM_GET_DUTY"}, \
    39		{EC_CMD_LIGHTBAR_CMD, "LIGHTBAR_CMD"}, \
    40		{EC_CMD_LED_CONTROL, "LED_CONTROL"}, \
    41		{EC_CMD_VBOOT_HASH, "VBOOT_HASH"}, \
    42		{EC_CMD_MOTION_SENSE_CMD, "MOTION_SENSE_CMD"}, \
  > 43		{EC_CMD_FORCE_LID_OPEN, "FORCE_LID_OPEN"}, \
  > 44		{EC_CMD_CONFIG_POWER_BUTTON, "CONFIG_POWER_BUTTON"}, \
    45		{EC_CMD_USB_CHARGE_SET_MODE, "USB_CHARGE_SET_MODE"}, \
    46		{EC_CMD_PSTORE_INFO, "PSTORE_INFO"}, \
    47		{EC_CMD_PSTORE_READ, "PSTORE_READ"}, \
    48		{EC_CMD_PSTORE_WRITE, "PSTORE_WRITE"}, \
    49		{EC_CMD_RTC_GET_VALUE, "RTC_GET_VALUE"}, \
    50		{EC_CMD_RTC_GET_ALARM, "RTC_GET_ALARM"}, \
    51		{EC_CMD_RTC_SET_VALUE, "RTC_SET_VALUE"}, \
    52		{EC_CMD_RTC_SET_ALARM, "RTC_SET_ALARM"}, \
    53		{EC_CMD_PORT80_READ, "PORT80_READ"}, \
  > 54		{EC_CMD_VSTORE_INFO, "VSTORE_INFO"}, \
  > 55		{EC_CMD_VSTORE_READ, "VSTORE_READ"}, \
  > 56		{EC_CMD_VSTORE_WRITE, "VSTORE_WRITE"}, \
    57		{EC_CMD_THERMAL_SET_THRESHOLD, "THERMAL_SET_THRESHOLD"}, \
    58		{EC_CMD_THERMAL_GET_THRESHOLD, "THERMAL_GET_THRESHOLD"}, \
    59		{EC_CMD_THERMAL_AUTO_FAN_CTRL, "THERMAL_AUTO_FAN_CTRL"}, \
    60		{EC_CMD_TMP006_GET_CALIBRATION, "TMP006_GET_CALIBRATION"}, \
    61		{EC_CMD_TMP006_SET_CALIBRATION, "TMP006_SET_CALIBRATION"}, \
    62		{EC_CMD_TMP006_GET_RAW, "TMP006_GET_RAW"}, \
    63		{EC_CMD_MKBP_STATE, "MKBP_STATE"}, \
    64		{EC_CMD_MKBP_INFO, "MKBP_INFO"}, \
    65		{EC_CMD_MKBP_SIMULATE_KEY, "MKBP_SIMULATE_KEY"}, \
    66		{EC_CMD_MKBP_SET_CONFIG, "MKBP_SET_CONFIG"}, \
    67		{EC_CMD_MKBP_GET_CONFIG, "MKBP_GET_CONFIG"}, \
    68		{EC_CMD_KEYSCAN_SEQ_CTRL, "KEYSCAN_SEQ_CTRL"}, \
    69		{EC_CMD_GET_NEXT_EVENT, "GET_NEXT_EVENT"}, \
  > 70		{EC_CMD_KEYBOARD_FACTORY_TEST, "KEYBOARD_FACTORY_TEST"}, \
    71		{EC_CMD_TEMP_SENSOR_GET_INFO, "TEMP_SENSOR_GET_INFO"}, \
    72		{EC_CMD_ACPI_READ, "ACPI_READ"}, \
    73		{EC_CMD_ACPI_WRITE, "ACPI_WRITE"}, \
  > 74		{EC_CMD_ACPI_BURST_ENABLE, "ACPI_BURST_ENABLE"}, \
  > 75		{EC_CMD_ACPI_BURST_DISABLE, "ACPI_BURST_DISABLE"}, \
    76		{EC_CMD_ACPI_QUERY_EVENT, "ACPI_QUERY_EVENT"}, \
    77		{EC_CMD_HOST_EVENT_GET_B, "HOST_EVENT_GET_B"}, \
    78		{EC_CMD_HOST_EVENT_GET_SMI_MASK, "HOST_EVENT_GET_SMI_MASK"}, \
    79		{EC_CMD_HOST_EVENT_GET_SCI_MASK, "HOST_EVENT_GET_SCI_MASK"}, \
    80		{EC_CMD_HOST_EVENT_SET_SMI_MASK, "HOST_EVENT_SET_SMI_MASK"}, \
    81		{EC_CMD_HOST_EVENT_SET_SCI_MASK, "HOST_EVENT_SET_SCI_MASK"}, \
    82		{EC_CMD_HOST_EVENT_CLEAR, "HOST_EVENT_CLEAR"}, \
    83		{EC_CMD_HOST_EVENT_GET_WAKE_MASK, "HOST_EVENT_GET_WAKE_MASK"}, \
    84		{EC_CMD_HOST_EVENT_SET_WAKE_MASK, "HOST_EVENT_SET_WAKE_MASK"}, \
    85		{EC_CMD_HOST_EVENT_CLEAR_B, "HOST_EVENT_CLEAR_B"}, \
    86		{EC_CMD_SWITCH_ENABLE_BKLIGHT, "SWITCH_ENABLE_BKLIGHT"}, \
    87		{EC_CMD_SWITCH_ENABLE_WIRELESS, "SWITCH_ENABLE_WIRELESS"}, \
    88		{EC_CMD_GPIO_SET, "GPIO_SET"}, \
    89		{EC_CMD_GPIO_GET, "GPIO_GET"}, \
    90		{EC_CMD_I2C_READ, "I2C_READ"}, \
    91		{EC_CMD_I2C_WRITE, "I2C_WRITE"}, \
    92		{EC_CMD_CHARGE_CONTROL, "CHARGE_CONTROL"}, \
    93		{EC_CMD_CONSOLE_SNAPSHOT, "CONSOLE_SNAPSHOT"}, \
    94		{EC_CMD_CONSOLE_READ, "CONSOLE_READ"}, \
    95		{EC_CMD_BATTERY_CUT_OFF, "BATTERY_CUT_OFF"}, \
    96		{EC_CMD_USB_MUX, "USB_MUX"}, \
    97		{EC_CMD_LDO_SET, "LDO_SET"}, \
    98		{EC_CMD_LDO_GET, "LDO_GET"}, \
    99		{EC_CMD_POWER_INFO, "POWER_INFO"}, \
   100		{EC_CMD_I2C_PASSTHRU, "I2C_PASSTHRU"}, \
   101		{EC_CMD_HANG_DETECT, "HANG_DETECT"}, \
   102		{EC_CMD_CHARGE_STATE, "CHARGE_STATE"}, \
   103		{EC_CMD_CHARGE_CURRENT_LIMIT, "CHARGE_CURRENT_LIMIT"}, \
   104		{EC_CMD_EXTERNAL_POWER_LIMIT, "EXTERNAL_POWER_LIMIT"}, \
 > 105		{EC_CMD_OVERRIDE_DEDICATED_CHARGER_LIMIT, \
   106			"OVERRIDE_DEDICATED_CHARGER_LIMIT"}, \
 > 107		{EC_CMD_HOST_EVENT, "HOST_EVENT"}, \
 > 108		{EC_CMD_HIBERNATION_DELAY, "HIBERNATION_DELAY"}, \
   109		{EC_CMD_HOST_SLEEP_EVENT, "HOST_SLEEP_EVENT"}, \
 > 110		{EC_CMD_DEVICE_EVENT, "DEVICE_EVENT"}, \
   111		{EC_CMD_SB_READ_WORD, "SB_READ_WORD"}, \
   112		{EC_CMD_SB_WRITE_WORD, "SB_WRITE_WORD"}, \
   113		{EC_CMD_SB_READ_BLOCK, "SB_READ_BLOCK"}, \
   114		{EC_CMD_SB_WRITE_BLOCK, "SB_WRITE_BLOCK"}, \
   115		{EC_CMD_BATTERY_VENDOR_PARAM, "BATTERY_VENDOR_PARAM"}, \
 > 116		{EC_CMD_SB_FW_UPDATE, "SB_FW_UPDATE"}, \
 > 117		{EC_CMD_ENTERING_MODE, "ENTERING_MODE"}, \
 > 118		{EC_CMD_I2C_PASSTHRU_PROTECT, "I2C_PASSTHRU_PROTECT"}, \
   119		{EC_CMD_REBOOT, "REBOOT"}, \
   120		{EC_CMD_REBOOT_EC, "REBOOT_EC"}, \
   121		{EC_CMD_GET_PANIC_INFO, "GET_PANIC_INFO"}, \
   122		{EC_CMD_RESEND_RESPONSE, "RESEND_RESPONSE"}, \
   123		{EC_CMD_VERSION0, "VERSION0"}, \
   124		{EC_CMD_PD_EXCHANGE_STATUS, "PD_EXCHANGE_STATUS"}, \
   125		{EC_CMD_USB_PD_CONTROL, "USB_PD_CONTROL"}, \
   126		{EC_CMD_USB_PD_PORTS, "USB_PD_PORTS"}, \
   127		{EC_CMD_USB_PD_POWER_INFO, "USB_PD_POWER_INFO"}, \
 > 128		{EC_CMD_PD_HOST_EVENT_STATUS, "PD_HOST_EVENT_STATUS"}, \
 > 129		{EC_CMD_USB_PD_FW_UPDATE, "USB_PD_FW_UPDATE"}, \
 > 130		{EC_CMD_USB_PD_RW_HASH_ENTRY, "USB_PD_RW_HASH_ENTRY"}, \
 > 131		{EC_CMD_USB_PD_DEV_INFO, "USB_PD_DEV_INFO"}, \
   132		{EC_CMD_USB_PD_DISCOVERY, "USB_PD_DISCOVERY"}, \
   133		{EC_CMD_PD_CHARGE_PORT_OVERRIDE, "PD_CHARGE_PORT_OVERRIDE"}, \
   134		{EC_CMD_PD_GET_LOG_ENTRY, "PD_GET_LOG_ENTRY"}, \
 > 135		{EC_CMD_USB_PD_GET_AMODE, "USB_PD_GET_AMODE"}, \
 > 136		{EC_CMD_USB_PD_SET_AMODE, "USB_PD_SET_AMODE"}, \
 > 137		{EC_CMD_PD_WRITE_LOG_ENTRY, "PD_WRITE_LOG_ENTRY"}, \
 > 138		{EC_CMD_PD_CONTROL, "PD_CONTROL"}, \
   139		{EC_CMD_USB_PD_MUX_INFO, "USB_PD_MUX_INFO"}, \
 > 140		{EC_CMD_PD_CHIP_INFO, "PD_CHIP_INFO"}, \
 > 141		{EC_CMD_RWSIG_CHECK_STATUS, "RWSIG_CHECK_STATUS"}, \
 > 142		{EC_CMD_RWSIG_ACTION, "RWSIG_ACTION"}, \
 > 143		{EC_CMD_CR51_BASE, "CR51_BASE"}, \
 > 144		{EC_CMD_CR51_LAST, "CR51_LAST"}, \
 > 145		{EC_CMD_FP_PASSTHRU, "FP_PASSTHRU"}, \
 > 146		{EC_CMD_FP_SENSOR_CONFIG, "FP_SENSOR_CONFIG"}, \
 > 147		{EC_CMD_FP_MODE, "FP_MODE"}, \
 > 148		{EC_CMD_FP_INFO, "FP_INFO"}, \
 > 149		{EC_CMD_FP_FRAME, "FP_FRAME"}, \
 > 150		{EC_CMD_TP_SELF_TEST, "TP_SELF_TEST"}, \
 > 151		{EC_CMD_TP_FRAME_INFO, "TP_FRAME_INFO"}, \
 > 152		{EC_CMD_TP_FRAME_SNAPSHOT, "TP_FRAME_SNAPSHOT"}, \
 > 153		{EC_CMD_TP_FRAME_GET, "TP_FRAME_GET"}, \
 > 154		{EC_CMD_BATTERY_GET_STATIC, "BATTERY_GET_STATIC"}, \
 > 155		{EC_CMD_BATTERY_GET_DYNAMIC, "BATTERY_GET_DYNAMIC"}, \
 > 156		{EC_CMD_CHARGER_CONTROL, "CHARGER_CONTROL"}, \
 > 157		{EC_CMD_BOARD_SPECIFIC_BASE, "BOARD_SPECIFIC_BASE"}, \
 > 158		{EC_CMD_BOARD_SPECIFIC_LAST, "BOARD_SPECIFIC_LAST"}
   159	
   160	#define CREATE_TRACE_POINTS
 > 161	#include "cros_ec_trace.h"

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 56228 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands
  2019-04-12 18:49 [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands Raul E Rangel
  2019-04-12 19:04 ` Steven Rostedt
  2019-04-15 13:05 ` kbuild test robot
@ 2019-04-15 13:24 ` kbuild test robot
  2 siblings, 0 replies; 5+ messages in thread
From: kbuild test robot @ 2019-04-15 13:24 UTC (permalink / raw)
  To: Raul E Rangel
  Cc: kbuild-all, linux-trace-devel, eballetbo, zwisler, djkurtz,
	Raul E Rangel, Enric Balletbo i Serra, Guenter Roeck,
	linux-kernel, Benson Leung

[-- Attachment #1: Type: text/plain, Size: 15528 bytes --]

Hi Raul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.1-rc5 next-20190412]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Raul-E-Rangel/chrome-platform-cros_ec_proto-Add-trace-event-to-trace-EC-commands/20190415-200456
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=sparc64 

All error/warnings (new ones prefixed by >>):

   In file included from include/trace/define_trace.h:96:0,
                    from drivers/platform/chrome/cros_ec_trace.h:51,
                    from drivers/platform/chrome/cros_ec_trace.c:161:
   drivers/platform/chrome/./cros_ec_trace.h: In function 'trace_raw_output_cros_ec_cmd_class':
   drivers/platform/chrome/cros_ec_trace.c:21:3: error: 'EC_CMD_GET_SKU_ID' undeclared (first use in this function); did you mean 'EC_CMD_GET_VERSION'?
     {EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
   drivers/platform/chrome/cros_ec_trace.c:21:3: note: each undeclared identifier is reported only once for each function it appears in
     {EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
>> drivers/platform/chrome/cros_ec_trace.c:22:3: error: 'EC_CMD_SET_SKU_ID' undeclared (first use in this function); did you mean 'EC_CMD_GET_SKU_ID'?
     {EC_CMD_SET_SKU_ID, "SET_SKU_ID"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
   drivers/platform/chrome/cros_ec_trace.c:30:3: error: 'EC_CMD_FLASH_SPI_INFO' undeclared (first use in this function); did you mean 'EC_CMD_FLASH_INFO'?
     {EC_CMD_FLASH_SPI_INFO, "FLASH_SPI_INFO"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
   drivers/platform/chrome/cros_ec_trace.c:31:3: error: 'EC_CMD_FLASH_SELECT' undeclared (first use in this function); did you mean 'EC_CMD_FLASH_PROTECT'?
     {EC_CMD_FLASH_SELECT, "FLASH_SELECT"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
   drivers/platform/chrome/cros_ec_trace.c:43:3: error: 'EC_CMD_FORCE_LID_OPEN' undeclared (first use in this function); did you mean 'EC_MKBP_LID_OPEN'?
     {EC_CMD_FORCE_LID_OPEN, "FORCE_LID_OPEN"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:5: note: in expansion of macro '__print_symbolic'
        __print_symbolic(__entry->command, ec_cmds))
        ^~~~~~~~~~~~~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:31:40: note: in expansion of macro 'ec_cmds'
        __print_symbolic(__entry->command, ec_cmds))
                                           ^~~~~~~
   drivers/platform/chrome/cros_ec_trace.c:44:3: error: 'EC_CMD_CONFIG_POWER_BUTTON' undeclared (first use in this function); did you mean 'EC_MKBP_POWER_BUTTON'?
     {EC_CMD_CONFIG_POWER_BUTTON, "CONFIG_POWER_BUTTON"}, \
      ^
   include/trace/trace_events.h:360:22: note: in definition of macro 'DECLARE_EVENT_CLASS'
     trace_seq_printf(s, print);     \
                         ^~~~~
>> drivers/platform/chrome/./cros_ec_trace.h:30:2: note: in expansion of macro 'TP_printk'
     TP_printk("version: %u, command: %s", __entry->version,
     ^~~~~~~~~

vim +22 drivers/platform/chrome/cros_ec_trace.c

     5	
     6	#define ec_cmds \
     7		{EC_CMD_PROTO_VERSION, "PROTO_VERSION"}, \
     8		{EC_CMD_HELLO, "HELLO"}, \
     9		{EC_CMD_GET_VERSION, "GET_VERSION"}, \
    10		{EC_CMD_READ_TEST, "READ_TEST"}, \
    11		{EC_CMD_GET_BUILD_INFO, "GET_BUILD_INFO"}, \
    12		{EC_CMD_GET_CHIP_INFO, "GET_CHIP_INFO"}, \
    13		{EC_CMD_GET_BOARD_VERSION, "GET_BOARD_VERSION"}, \
    14		{EC_CMD_READ_MEMMAP, "READ_MEMMAP"}, \
    15		{EC_CMD_GET_CMD_VERSIONS, "GET_CMD_VERSIONS"}, \
    16		{EC_CMD_GET_COMMS_STATUS, "GET_COMMS_STATUS"}, \
    17		{EC_CMD_TEST_PROTOCOL, "TEST_PROTOCOL"}, \
    18		{EC_CMD_GET_PROTOCOL_INFO, "GET_PROTOCOL_INFO"}, \
    19		{EC_CMD_GSV_PAUSE_IN_S5, "GSV_PAUSE_IN_S5"}, \
    20		{EC_CMD_GET_FEATURES, "GET_FEATURES"}, \
    21		{EC_CMD_GET_SKU_ID, "GET_SKU_ID"}, \
  > 22		{EC_CMD_SET_SKU_ID, "SET_SKU_ID"}, \
    23		{EC_CMD_FLASH_INFO, "FLASH_INFO"}, \
    24		{EC_CMD_FLASH_READ, "FLASH_READ"}, \
    25		{EC_CMD_FLASH_WRITE, "FLASH_WRITE"}, \
    26		{EC_CMD_FLASH_ERASE, "FLASH_ERASE"}, \
    27		{EC_CMD_FLASH_PROTECT, "FLASH_PROTECT"}, \
    28		{EC_CMD_FLASH_REGION_INFO, "FLASH_REGION_INFO"}, \
    29		{EC_CMD_VBNV_CONTEXT, "VBNV_CONTEXT"}, \
    30		{EC_CMD_FLASH_SPI_INFO, "FLASH_SPI_INFO"}, \
    31		{EC_CMD_FLASH_SELECT, "FLASH_SELECT"}, \
    32		{EC_CMD_PWM_GET_FAN_TARGET_RPM, "PWM_GET_FAN_TARGET_RPM"}, \
    33		{EC_CMD_PWM_SET_FAN_TARGET_RPM, "PWM_SET_FAN_TARGET_RPM"}, \
    34		{EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT, "PWM_GET_KEYBOARD_BACKLIGHT"}, \
    35		{EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT, "PWM_SET_KEYBOARD_BACKLIGHT"}, \
    36		{EC_CMD_PWM_SET_FAN_DUTY, "PWM_SET_FAN_DUTY"}, \
    37		{EC_CMD_PWM_SET_DUTY, "PWM_SET_DUTY"}, \
    38		{EC_CMD_PWM_GET_DUTY, "PWM_GET_DUTY"}, \
    39		{EC_CMD_LIGHTBAR_CMD, "LIGHTBAR_CMD"}, \
    40		{EC_CMD_LED_CONTROL, "LED_CONTROL"}, \
    41		{EC_CMD_VBOOT_HASH, "VBOOT_HASH"}, \
    42		{EC_CMD_MOTION_SENSE_CMD, "MOTION_SENSE_CMD"}, \
    43		{EC_CMD_FORCE_LID_OPEN, "FORCE_LID_OPEN"}, \
    44		{EC_CMD_CONFIG_POWER_BUTTON, "CONFIG_POWER_BUTTON"}, \
    45		{EC_CMD_USB_CHARGE_SET_MODE, "USB_CHARGE_SET_MODE"}, \
    46		{EC_CMD_PSTORE_INFO, "PSTORE_INFO"}, \
    47		{EC_CMD_PSTORE_READ, "PSTORE_READ"}, \
    48		{EC_CMD_PSTORE_WRITE, "PSTORE_WRITE"}, \
    49		{EC_CMD_RTC_GET_VALUE, "RTC_GET_VALUE"}, \
    50		{EC_CMD_RTC_GET_ALARM, "RTC_GET_ALARM"}, \
    51		{EC_CMD_RTC_SET_VALUE, "RTC_SET_VALUE"}, \
    52		{EC_CMD_RTC_SET_ALARM, "RTC_SET_ALARM"}, \
    53		{EC_CMD_PORT80_READ, "PORT80_READ"}, \
    54		{EC_CMD_VSTORE_INFO, "VSTORE_INFO"}, \
    55		{EC_CMD_VSTORE_READ, "VSTORE_READ"}, \
    56		{EC_CMD_VSTORE_WRITE, "VSTORE_WRITE"}, \
    57		{EC_CMD_THERMAL_SET_THRESHOLD, "THERMAL_SET_THRESHOLD"}, \
    58		{EC_CMD_THERMAL_GET_THRESHOLD, "THERMAL_GET_THRESHOLD"}, \
    59		{EC_CMD_THERMAL_AUTO_FAN_CTRL, "THERMAL_AUTO_FAN_CTRL"}, \
    60		{EC_CMD_TMP006_GET_CALIBRATION, "TMP006_GET_CALIBRATION"}, \
    61		{EC_CMD_TMP006_SET_CALIBRATION, "TMP006_SET_CALIBRATION"}, \
    62		{EC_CMD_TMP006_GET_RAW, "TMP006_GET_RAW"}, \
    63		{EC_CMD_MKBP_STATE, "MKBP_STATE"}, \
    64		{EC_CMD_MKBP_INFO, "MKBP_INFO"}, \
    65		{EC_CMD_MKBP_SIMULATE_KEY, "MKBP_SIMULATE_KEY"}, \
    66		{EC_CMD_MKBP_SET_CONFIG, "MKBP_SET_CONFIG"}, \
    67		{EC_CMD_MKBP_GET_CONFIG, "MKBP_GET_CONFIG"}, \
    68		{EC_CMD_KEYSCAN_SEQ_CTRL, "KEYSCAN_SEQ_CTRL"}, \
    69		{EC_CMD_GET_NEXT_EVENT, "GET_NEXT_EVENT"}, \
    70		{EC_CMD_KEYBOARD_FACTORY_TEST, "KEYBOARD_FACTORY_TEST"}, \
    71		{EC_CMD_TEMP_SENSOR_GET_INFO, "TEMP_SENSOR_GET_INFO"}, \
    72		{EC_CMD_ACPI_READ, "ACPI_READ"}, \
    73		{EC_CMD_ACPI_WRITE, "ACPI_WRITE"}, \
    74		{EC_CMD_ACPI_BURST_ENABLE, "ACPI_BURST_ENABLE"}, \
  > 75		{EC_CMD_ACPI_BURST_DISABLE, "ACPI_BURST_DISABLE"}, \
    76		{EC_CMD_ACPI_QUERY_EVENT, "ACPI_QUERY_EVENT"}, \
    77		{EC_CMD_HOST_EVENT_GET_B, "HOST_EVENT_GET_B"}, \
    78		{EC_CMD_HOST_EVENT_GET_SMI_MASK, "HOST_EVENT_GET_SMI_MASK"}, \
    79		{EC_CMD_HOST_EVENT_GET_SCI_MASK, "HOST_EVENT_GET_SCI_MASK"}, \
    80		{EC_CMD_HOST_EVENT_SET_SMI_MASK, "HOST_EVENT_SET_SMI_MASK"}, \
    81		{EC_CMD_HOST_EVENT_SET_SCI_MASK, "HOST_EVENT_SET_SCI_MASK"}, \
    82		{EC_CMD_HOST_EVENT_CLEAR, "HOST_EVENT_CLEAR"}, \
    83		{EC_CMD_HOST_EVENT_GET_WAKE_MASK, "HOST_EVENT_GET_WAKE_MASK"}, \
    84		{EC_CMD_HOST_EVENT_SET_WAKE_MASK, "HOST_EVENT_SET_WAKE_MASK"}, \
    85		{EC_CMD_HOST_EVENT_CLEAR_B, "HOST_EVENT_CLEAR_B"}, \
    86		{EC_CMD_SWITCH_ENABLE_BKLIGHT, "SWITCH_ENABLE_BKLIGHT"}, \
    87		{EC_CMD_SWITCH_ENABLE_WIRELESS, "SWITCH_ENABLE_WIRELESS"}, \
    88		{EC_CMD_GPIO_SET, "GPIO_SET"}, \
    89		{EC_CMD_GPIO_GET, "GPIO_GET"}, \
    90		{EC_CMD_I2C_READ, "I2C_READ"}, \
    91		{EC_CMD_I2C_WRITE, "I2C_WRITE"}, \
    92		{EC_CMD_CHARGE_CONTROL, "CHARGE_CONTROL"}, \
    93		{EC_CMD_CONSOLE_SNAPSHOT, "CONSOLE_SNAPSHOT"}, \
    94		{EC_CMD_CONSOLE_READ, "CONSOLE_READ"}, \
    95		{EC_CMD_BATTERY_CUT_OFF, "BATTERY_CUT_OFF"}, \
    96		{EC_CMD_USB_MUX, "USB_MUX"}, \
    97		{EC_CMD_LDO_SET, "LDO_SET"}, \
    98		{EC_CMD_LDO_GET, "LDO_GET"}, \
    99		{EC_CMD_POWER_INFO, "POWER_INFO"}, \
   100		{EC_CMD_I2C_PASSTHRU, "I2C_PASSTHRU"}, \
   101		{EC_CMD_HANG_DETECT, "HANG_DETECT"}, \
   102		{EC_CMD_CHARGE_STATE, "CHARGE_STATE"}, \
   103		{EC_CMD_CHARGE_CURRENT_LIMIT, "CHARGE_CURRENT_LIMIT"}, \
   104		{EC_CMD_EXTERNAL_POWER_LIMIT, "EXTERNAL_POWER_LIMIT"}, \
   105		{EC_CMD_OVERRIDE_DEDICATED_CHARGER_LIMIT, \
   106			"OVERRIDE_DEDICATED_CHARGER_LIMIT"}, \
   107		{EC_CMD_HOST_EVENT, "HOST_EVENT"}, \
   108		{EC_CMD_HIBERNATION_DELAY, "HIBERNATION_DELAY"}, \
   109		{EC_CMD_HOST_SLEEP_EVENT, "HOST_SLEEP_EVENT"}, \
 > 110		{EC_CMD_DEVICE_EVENT, "DEVICE_EVENT"}, \
   111		{EC_CMD_SB_READ_WORD, "SB_READ_WORD"}, \
   112		{EC_CMD_SB_WRITE_WORD, "SB_WRITE_WORD"}, \
   113		{EC_CMD_SB_READ_BLOCK, "SB_READ_BLOCK"}, \
   114		{EC_CMD_SB_WRITE_BLOCK, "SB_WRITE_BLOCK"}, \
   115		{EC_CMD_BATTERY_VENDOR_PARAM, "BATTERY_VENDOR_PARAM"}, \
   116		{EC_CMD_SB_FW_UPDATE, "SB_FW_UPDATE"}, \
   117		{EC_CMD_ENTERING_MODE, "ENTERING_MODE"}, \
   118		{EC_CMD_I2C_PASSTHRU_PROTECT, "I2C_PASSTHRU_PROTECT"}, \
   119		{EC_CMD_REBOOT, "REBOOT"}, \
   120		{EC_CMD_REBOOT_EC, "REBOOT_EC"}, \
   121		{EC_CMD_GET_PANIC_INFO, "GET_PANIC_INFO"}, \
   122		{EC_CMD_RESEND_RESPONSE, "RESEND_RESPONSE"}, \
   123		{EC_CMD_VERSION0, "VERSION0"}, \
   124		{EC_CMD_PD_EXCHANGE_STATUS, "PD_EXCHANGE_STATUS"}, \
   125		{EC_CMD_USB_PD_CONTROL, "USB_PD_CONTROL"}, \
   126		{EC_CMD_USB_PD_PORTS, "USB_PD_PORTS"}, \
   127		{EC_CMD_USB_PD_POWER_INFO, "USB_PD_POWER_INFO"}, \
   128		{EC_CMD_PD_HOST_EVENT_STATUS, "PD_HOST_EVENT_STATUS"}, \
 > 129		{EC_CMD_USB_PD_FW_UPDATE, "USB_PD_FW_UPDATE"}, \
 > 130		{EC_CMD_USB_PD_RW_HASH_ENTRY, "USB_PD_RW_HASH_ENTRY"}, \
   131		{EC_CMD_USB_PD_DEV_INFO, "USB_PD_DEV_INFO"}, \
   132		{EC_CMD_USB_PD_DISCOVERY, "USB_PD_DISCOVERY"}, \
   133		{EC_CMD_PD_CHARGE_PORT_OVERRIDE, "PD_CHARGE_PORT_OVERRIDE"}, \
   134		{EC_CMD_PD_GET_LOG_ENTRY, "PD_GET_LOG_ENTRY"}, \
 > 135		{EC_CMD_USB_PD_GET_AMODE, "USB_PD_GET_AMODE"}, \
 > 136		{EC_CMD_USB_PD_SET_AMODE, "USB_PD_SET_AMODE"}, \
   137		{EC_CMD_PD_WRITE_LOG_ENTRY, "PD_WRITE_LOG_ENTRY"}, \
   138		{EC_CMD_PD_CONTROL, "PD_CONTROL"}, \
   139		{EC_CMD_USB_PD_MUX_INFO, "USB_PD_MUX_INFO"}, \
   140		{EC_CMD_PD_CHIP_INFO, "PD_CHIP_INFO"}, \
   141		{EC_CMD_RWSIG_CHECK_STATUS, "RWSIG_CHECK_STATUS"}, \
   142		{EC_CMD_RWSIG_ACTION, "RWSIG_ACTION"}, \
   143		{EC_CMD_CR51_BASE, "CR51_BASE"}, \
 > 144		{EC_CMD_CR51_LAST, "CR51_LAST"}, \
   145		{EC_CMD_FP_PASSTHRU, "FP_PASSTHRU"}, \
   146		{EC_CMD_FP_SENSOR_CONFIG, "FP_SENSOR_CONFIG"}, \
   147		{EC_CMD_FP_MODE, "FP_MODE"}, \
   148		{EC_CMD_FP_INFO, "FP_INFO"}, \
 > 149		{EC_CMD_FP_FRAME, "FP_FRAME"}, \
   150		{EC_CMD_TP_SELF_TEST, "TP_SELF_TEST"}, \
 > 151		{EC_CMD_TP_FRAME_INFO, "TP_FRAME_INFO"}, \
 > 152		{EC_CMD_TP_FRAME_SNAPSHOT, "TP_FRAME_SNAPSHOT"}, \
 > 153		{EC_CMD_TP_FRAME_GET, "TP_FRAME_GET"}, \
   154		{EC_CMD_BATTERY_GET_STATIC, "BATTERY_GET_STATIC"}, \
 > 155		{EC_CMD_BATTERY_GET_DYNAMIC, "BATTERY_GET_DYNAMIC"}, \
   156		{EC_CMD_CHARGER_CONTROL, "CHARGER_CONTROL"}, \
   157		{EC_CMD_BOARD_SPECIFIC_BASE, "BOARD_SPECIFIC_BASE"}, \
 > 158		{EC_CMD_BOARD_SPECIFIC_LAST, "BOARD_SPECIFIC_LAST"}
   159	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 56047 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-15 13:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-12 18:49 [PATCH v2] chrome/platform: cros_ec_proto:: Add trace event to trace EC commands Raul E Rangel
2019-04-12 19:04 ` Steven Rostedt
2019-04-12 19:47   ` Raul Rangel
2019-04-15 13:05 ` kbuild test robot
2019-04-15 13:24 ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).