diff mbox series

[15/17] media: cros-ec-cec: Use cros_ec_send_cmd_msg()

Message ID 20200130203106.201894-16-pmalani@chromium.org (mailing list archive)
State New, archived
Headers show
Series platform/chrome: Replace cros_ec_cmd_xfer_status | expand

Commit Message

Prashant Malani Jan. 30, 2020, 8:31 p.m. UTC
Replace cros_ec_cmd_xfer_status() with cros_ec_send_cmd_msg() 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@chromium.org>
---
 .../media/platform/cros-ec-cec/cros-ec-cec.c  | 39 +++++++------------
 1 file changed, 14 insertions(+), 25 deletions(-)

Comments

kernel test robot Feb. 2, 2020, 10:08 p.m. UTC | #1
Hi Prashant,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to chrome-platform-linux/for-next abelloni/rtc-next linux/master v5.5 next-20200130]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Prashant-Malani/platform-chrome-Replace-cros_ec_cmd_xfer_status/20200203-022935
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 94f2630b18975bb56eee5d1a36371db967643479
config: x86_64-randconfig-b002-20200202 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/media/platform/cros-ec-cec/cros-ec-cec.c: In function 'cros_ec_cec_transmit':
>> drivers/media/platform/cros-ec-cec/cros-ec-cec.c:122:2: error: 'msg' undeclared (first use in this function); did you mean 'msr'?
     msg.msg.outsize = cec_msg->len;
     ^~~
     msr
   drivers/media/platform/cros-ec-cec/cros-ec-cec.c:122:2: note: each undeclared identifier is reported only once for each function it appears in

vim +122 drivers/media/platform/cros-ec-cec/cros-ec-cec.c

cd70de2d356ee6 Neil Armstrong  2018-07-04  113  
cd70de2d356ee6 Neil Armstrong  2018-07-04  114  static int cros_ec_cec_transmit(struct cec_adapter *adap, u8 attempts,
cd70de2d356ee6 Neil Armstrong  2018-07-04  115  				u32 signal_free_time, struct cec_msg *cec_msg)
cd70de2d356ee6 Neil Armstrong  2018-07-04  116  {
cd70de2d356ee6 Neil Armstrong  2018-07-04  117  	struct cros_ec_cec *cros_ec_cec = adap->priv;
cd70de2d356ee6 Neil Armstrong  2018-07-04  118  	struct cros_ec_device *cros_ec = cros_ec_cec->cros_ec;
bd6054aba6ffe7 Prashant Malani 2020-01-30  119  	struct ec_params_cec_write data = {};
cd70de2d356ee6 Neil Armstrong  2018-07-04  120  	int ret;
cd70de2d356ee6 Neil Armstrong  2018-07-04  121  
cd70de2d356ee6 Neil Armstrong  2018-07-04 @122  	msg.msg.outsize = cec_msg->len;
bd6054aba6ffe7 Prashant Malani 2020-01-30  123  	memcpy(data.msg, cec_msg->msg, cec_msg->len);
cd70de2d356ee6 Neil Armstrong  2018-07-04  124  
bd6054aba6ffe7 Prashant Malani 2020-01-30  125  	ret = cros_ec_send_cmd_msg(cros_ec, 0, EC_CMD_CEC_WRITE_MSG,
bd6054aba6ffe7 Prashant Malani 2020-01-30  126  				   &data, sizeof(cec_msg->len), NULL, 0);
cd70de2d356ee6 Neil Armstrong  2018-07-04  127  	if (ret < 0) {
cd70de2d356ee6 Neil Armstrong  2018-07-04  128  		dev_err(cros_ec->dev,
cd70de2d356ee6 Neil Armstrong  2018-07-04  129  			"error writing CEC msg on EC: %d\n", ret);
cd70de2d356ee6 Neil Armstrong  2018-07-04  130  		return ret;
cd70de2d356ee6 Neil Armstrong  2018-07-04  131  	}
cd70de2d356ee6 Neil Armstrong  2018-07-04  132  
cd70de2d356ee6 Neil Armstrong  2018-07-04  133  	return 0;
cd70de2d356ee6 Neil Armstrong  2018-07-04  134  }
cd70de2d356ee6 Neil Armstrong  2018-07-04  135  

:::::: The code at line 122 was first introduced by commit
:::::: cd70de2d356ee692477276bd5d6bc88c71a48733 media: platform: Add ChromeOS EC CEC driver

:::::: TO: Neil Armstrong <narmstrong@baylibre.com>
:::::: CC: Lee Jones <lee.jones@linaro.org>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
kernel test robot Feb. 3, 2020, 5:35 a.m. UTC | #2
Hi Prashant,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to chrome-platform-linux/for-next abelloni/rtc-next linux/master v5.5 next-20200131]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Prashant-Malani/platform-chrome-Replace-cros_ec_cmd_xfer_status/20200203-022935
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 94f2630b18975bb56eee5d1a36371db967643479
config: s390-allmodconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 7.5.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.5.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/media/platform/cros-ec-cec/cros-ec-cec.c: In function 'cros_ec_cec_transmit':
>> drivers/media/platform/cros-ec-cec/cros-ec-cec.c:122:2: error: 'msg' undeclared (first use in this function); did you mean 'cspg'?
     msg.msg.outsize = cec_msg->len;
     ^~~
     cspg
   drivers/media/platform/cros-ec-cec/cros-ec-cec.c:122:2: note: each undeclared identifier is reported only once for each function it appears in

vim +122 drivers/media/platform/cros-ec-cec/cros-ec-cec.c

cd70de2d356ee6 Neil Armstrong  2018-07-04  113  
cd70de2d356ee6 Neil Armstrong  2018-07-04  114  static int cros_ec_cec_transmit(struct cec_adapter *adap, u8 attempts,
cd70de2d356ee6 Neil Armstrong  2018-07-04  115  				u32 signal_free_time, struct cec_msg *cec_msg)
cd70de2d356ee6 Neil Armstrong  2018-07-04  116  {
cd70de2d356ee6 Neil Armstrong  2018-07-04  117  	struct cros_ec_cec *cros_ec_cec = adap->priv;
cd70de2d356ee6 Neil Armstrong  2018-07-04  118  	struct cros_ec_device *cros_ec = cros_ec_cec->cros_ec;
bd6054aba6ffe7 Prashant Malani 2020-01-30  119  	struct ec_params_cec_write data = {};
cd70de2d356ee6 Neil Armstrong  2018-07-04  120  	int ret;
cd70de2d356ee6 Neil Armstrong  2018-07-04  121  
cd70de2d356ee6 Neil Armstrong  2018-07-04 @122  	msg.msg.outsize = cec_msg->len;
bd6054aba6ffe7 Prashant Malani 2020-01-30  123  	memcpy(data.msg, cec_msg->msg, cec_msg->len);
cd70de2d356ee6 Neil Armstrong  2018-07-04  124  
bd6054aba6ffe7 Prashant Malani 2020-01-30  125  	ret = cros_ec_send_cmd_msg(cros_ec, 0, EC_CMD_CEC_WRITE_MSG,
bd6054aba6ffe7 Prashant Malani 2020-01-30  126  				   &data, sizeof(cec_msg->len), NULL, 0);
cd70de2d356ee6 Neil Armstrong  2018-07-04  127  	if (ret < 0) {
cd70de2d356ee6 Neil Armstrong  2018-07-04  128  		dev_err(cros_ec->dev,
cd70de2d356ee6 Neil Armstrong  2018-07-04  129  			"error writing CEC msg on EC: %d\n", ret);
cd70de2d356ee6 Neil Armstrong  2018-07-04  130  		return ret;
cd70de2d356ee6 Neil Armstrong  2018-07-04  131  	}
cd70de2d356ee6 Neil Armstrong  2018-07-04  132  
cd70de2d356ee6 Neil Armstrong  2018-07-04  133  	return 0;
cd70de2d356ee6 Neil Armstrong  2018-07-04  134  }
cd70de2d356ee6 Neil Armstrong  2018-07-04  135  

:::::: The code at line 122 was first introduced by commit
:::::: cd70de2d356ee692477276bd5d6bc88c71a48733 media: platform: Add ChromeOS EC CEC driver

:::::: TO: Neil Armstrong <narmstrong@baylibre.com>
:::::: CC: Lee Jones <lee.jones@linaro.org>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
diff mbox series

Patch

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 f048e89947850e..0ee7354dca9724 100644
--- a/drivers/media/platform/cros-ec-cec/cros-ec-cec.c
+++ b/drivers/media/platform/cros-ec-cec/cros-ec-cec.c
@@ -94,18 +94,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;
 	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;
+	data.cmd = CEC_CMD_LOGICAL_ADDRESS;
+	data.val = logical_addr;
 
-	ret = cros_ec_cmd_xfer_status(cros_ec, &msg.msg);
+	ret = cros_ec_send_cmd_msg(cros_ec, 0, EC_CMD_CEC_SET, &data,
+				   sizeof(data), NULL, 0);
 	if (ret < 0) {
 		dev_err(cros_ec->dev,
 			"error setting CEC logical address on EC: %d\n", ret);
@@ -120,17 +116,14 @@  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);
+	memcpy(data.msg, cec_msg->msg, cec_msg->len);
 
-	ret = cros_ec_cmd_xfer_status(cros_ec, &msg.msg);
+	ret = cros_ec_send_cmd_msg(cros_ec, 0, EC_CMD_CEC_WRITE_MSG,
+				   &data, sizeof(cec_msg->len), NULL, 0);
 	if (ret < 0) {
 		dev_err(cros_ec->dev,
 			"error writing CEC msg on EC: %d\n", ret);
@@ -144,18 +137,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 = {0};
 	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;
+	data.cmd = CEC_CMD_ENABLE;
+	data.val = enable;
 
-	ret = cros_ec_cmd_xfer_status(cros_ec, &msg.msg);
+	ret = cros_ec_send_cmd_msg(cros_ec, 0, EC_CMD_CEC_SET, &data,
+				   sizeof(data), NULL, 0);
 	if (ret < 0) {
 		dev_err(cros_ec->dev,
 			"error %sabling CEC on EC: %d\n",