power: supply: cros_charge-control: 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.

Replace an on-stack definition of a flexible structure with a call
to utility function cros_ec_cmd().

So, with these changes, fix the following warning:

drivers/power/supply/cros_charge-control.c:57:40: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Acked-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/aBEwnKtUOTYzS7C3@kspp
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
Gustavo A. R. Silva 2025-04-29 14:03:40 -06:00 committed by Sebastian Reichel
parent 18672fe123
commit d4d2dc1b59
1 changed files with 7 additions and 16 deletions

View File

@ -47,29 +47,20 @@ struct cros_chctl_priv {
static int cros_chctl_send_charge_control_cmd(struct cros_ec_device *cros_ec,
u8 cmd_version, struct ec_params_charge_control *req)
{
int ret;
static const u8 outsizes[] = {
[1] = offsetof(struct ec_params_charge_control, cmd),
[2] = sizeof(struct ec_params_charge_control),
[3] = sizeof(struct ec_params_charge_control),
};
struct {
struct cros_ec_command msg;
union {
struct ec_params_charge_control req;
struct ec_response_charge_control resp;
} __packed data;
} __packed buf = {
.msg = {
.command = EC_CMD_CHARGE_CONTROL,
.version = cmd_version,
.insize = 0,
.outsize = outsizes[cmd_version],
},
.data.req = *req,
};
ret = cros_ec_cmd(cros_ec, cmd_version, EC_CMD_CHARGE_CONTROL, req,
outsizes[cmd_version], NULL, 0);
return cros_ec_cmd_xfer_status(cros_ec, &buf.msg);
if (ret < 0)
return ret;
return 0;
}
static int cros_chctl_configure_ec(struct cros_chctl_priv *priv)