Hi Prashant, On 05/02/2020 20:00, Prashant Malani wrote: > Replace cros_ec_cmd_xfer_status() with cros_ec_cmd() which does the > message buffer setup and cleanup, but is located in platform/chrome > and used by other drivers. > > Signed-off-by: Prashant Malani <pmalani@xxxxxxxxxxxx> > Reported-by: kbuild test robot <lkp@xxxxxxxxx> This source has moved to drivers/media/cec/platform/cros-ec/cros-ec-cec.c. Can you rebase/repost? Regards, Hans > --- > > Changes in v2: > - Updated to use new function name and parameter list. > - Used C99 element setting to initialize struct. > > .../media/platform/cros-ec-cec/cros-ec-cec.c | 45 +++++++------------ > 1 file changed, 16 insertions(+), 29 deletions(-) > > diff --git a/drivers/media/platform/cros-ec-cec/cros-ec-cec.c b/drivers/media/platform/cros-ec-cec/cros-ec-cec.c > index 0e7e2772f08f96..a462af1c9ae04b 100644 > --- a/drivers/media/platform/cros-ec-cec/cros-ec-cec.c > +++ b/drivers/media/platform/cros-ec-cec/cros-ec-cec.c > @@ -93,18 +93,14 @@ static int cros_ec_cec_set_log_addr(struct cec_adapter *adap, u8 logical_addr) > { > struct cros_ec_cec *cros_ec_cec = adap->priv; > struct cros_ec_device *cros_ec = cros_ec_cec->cros_ec; > - struct { > - struct cros_ec_command msg; > - struct ec_params_cec_set data; > - } __packed msg = {}; > + struct ec_params_cec_set data = { > + .cmd = CEC_CMD_LOGICAL_ADDRESS, > + .val = logical_addr, > + }; > int ret; > > - msg.msg.command = EC_CMD_CEC_SET; > - msg.msg.outsize = sizeof(msg.data); > - msg.data.cmd = CEC_CMD_LOGICAL_ADDRESS; > - msg.data.val = logical_addr; > - > - ret = cros_ec_cmd_xfer_status(cros_ec, &msg.msg); > + ret = cros_ec_cmd(cros_ec, 0, EC_CMD_CEC_SET, &data, sizeof(data), > + NULL, 0, NULL); > if (ret < 0) { > dev_err(cros_ec->dev, > "error setting CEC logical address on EC: %d\n", ret); > @@ -119,17 +115,12 @@ static int cros_ec_cec_transmit(struct cec_adapter *adap, u8 attempts, > { > struct cros_ec_cec *cros_ec_cec = adap->priv; > struct cros_ec_device *cros_ec = cros_ec_cec->cros_ec; > - struct { > - struct cros_ec_command msg; > - struct ec_params_cec_write data; > - } __packed msg = {}; > + struct ec_params_cec_write data = {}; > int ret; > > - msg.msg.command = EC_CMD_CEC_WRITE_MSG; > - msg.msg.outsize = cec_msg->len; > - memcpy(msg.data.msg, cec_msg->msg, cec_msg->len); > - > - ret = cros_ec_cmd_xfer_status(cros_ec, &msg.msg); > + memcpy(data.msg, cec_msg->msg, cec_msg->len); > + ret = cros_ec_cmd(cros_ec, 0, EC_CMD_CEC_WRITE_MSG, &data, > + sizeof(cec_msg->len), NULL, 0, NULL); > if (ret < 0) { > dev_err(cros_ec->dev, > "error writing CEC msg on EC: %d\n", ret); > @@ -143,18 +134,14 @@ static int cros_ec_cec_adap_enable(struct cec_adapter *adap, bool enable) > { > struct cros_ec_cec *cros_ec_cec = adap->priv; > struct cros_ec_device *cros_ec = cros_ec_cec->cros_ec; > - struct { > - struct cros_ec_command msg; > - struct ec_params_cec_set data; > - } __packed msg = {}; > + struct ec_params_cec_set data = { > + .cmd = CEC_CMD_ENABLE, > + .val = enable, > + }; > int ret; > > - msg.msg.command = EC_CMD_CEC_SET; > - msg.msg.outsize = sizeof(msg.data); > - msg.data.cmd = CEC_CMD_ENABLE; > - msg.data.val = enable; > - > - ret = cros_ec_cmd_xfer_status(cros_ec, &msg.msg); > + ret = cros_ec_cmd(cros_ec, 0, EC_CMD_CEC_SET, &data, sizeof(data), > + NULL, 0, NULL); > if (ret < 0) { > dev_err(cros_ec->dev, > "error %sabling CEC on EC: %d\n", >