Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

platform/chrome: cros_ec: Avoid -Wflex-array-member-not-at-end warning

-Wflex-array-member-not-at-end was introduced in GCC-14, and we are
getting ready to enable it, globally.

Use the new TRAILING_OVERLAP() helper to fix the following warning:

drivers/platform/chrome/cros_ec.c:106:40: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

This helper creates a union between a flexible-array member (FAM)
and a set of members that would otherwise follow it. This overlays
the trailing members onto the FAM while preserving the original
memory layout.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/aJnvuv334M7TljoB@kspp
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>

authored by

Gustavo A. R. Silva and committed by
Tzung-Bi Shih
8abbbbb5 032c59c1

+2 -3
+2 -3
drivers/platform/chrome/cros_ec.c
··· 102 102 static int cros_ec_sleep_event(struct cros_ec_device *ec_dev, u8 sleep_event) 103 103 { 104 104 int ret; 105 - struct { 106 - struct cros_ec_command msg; 105 + TRAILING_OVERLAP(struct cros_ec_command, msg, data, 107 106 union { 108 107 struct ec_params_host_sleep_event req0; 109 108 struct ec_params_host_sleep_event_v1 req1; 110 109 struct ec_response_host_sleep_event_v1 resp1; 111 110 } u; 112 - } __packed buf; 111 + ) __packed buf; 113 112 114 113 memset(&buf, 0, sizeof(buf)); 115 114