[usb:usb-testing 9/58] drivers/usb/typec/ucsi/cros_ec_ucsi.c:187:54: warning: passing argument 2 of 'cros_ucsi_async_control' makes integer from pointer without a cast

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
head:   b1d7c2a8a364695a5dca2bb18ebcf2c10ad61172
commit: 475db78842851d9efd7888154a80af697946de1e [9/58] usb: typec: ucsi: Implement ChromeOS UCSI driver
config: um-allyesconfig (https://download.01.org/0day-ci/archive/20241224/202412241137.ld79A9Iq-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241224/202412241137.ld79A9Iq-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412241137.ld79A9Iq-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   drivers/usb/typec/ucsi/cros_ec_ucsi.c: In function 'cros_ucsi_write_timeout':
>> drivers/usb/typec/ucsi/cros_ec_ucsi.c:187:54: warning: passing argument 2 of 'cros_ucsi_async_control' makes integer from pointer without a cast [-Wint-conversion]
     187 |                 cros_ucsi_async_control(udata->ucsi, &cmd);
         |                                                      ^~~~
         |                                                      |
         |                                                      u64 * {aka long long unsigned int *}
   drivers/usb/typec/ucsi/cros_ec_ucsi.c:90:59: note: expected 'u64' {aka 'long long unsigned int'} but argument is of type 'u64 *' {aka 'long long unsigned int *'}
      90 | static int cros_ucsi_async_control(struct ucsi *ucsi, u64 cmd)
         |                                                       ~~~~^~~


vim +/cros_ucsi_async_control +187 drivers/usb/typec/ucsi/cros_ec_ucsi.c

   154	
   155	static void cros_ucsi_write_timeout(struct work_struct *work)
   156	{
   157		struct cros_ucsi_data *udata =
   158			container_of(work, struct cros_ucsi_data, write_tmo.work);
   159		u32 cci;
   160		u64 cmd;
   161	
   162		if (cros_ucsi_read(udata->ucsi, UCSI_CCI, &cci, sizeof(cci))) {
   163			dev_err(udata->dev,
   164				"Reading CCI failed; no write timeout recovery possible.");
   165			return;
   166		}
   167	
   168		if (cci & UCSI_CCI_BUSY) {
   169			udata->tmo_counter++;
   170	
   171			if (udata->tmo_counter <= WRITE_TMO_CTR_MAX)
   172				schedule_delayed_work(&udata->write_tmo,
   173						      msecs_to_jiffies(WRITE_TMO_MS));
   174			else
   175				dev_err(udata->dev,
   176					"PPM unresponsive - too many write timeouts.");
   177	
   178			return;
   179		}
   180	
   181		/* No longer busy means we can reset our timeout counter. */
   182		udata->tmo_counter = 0;
   183	
   184		/* Need to ack previous command which may have timed out. */
   185		if (cci & UCSI_CCI_COMMAND_COMPLETE) {
   186			cmd = UCSI_ACK_CC_CI | UCSI_ACK_COMMAND_COMPLETE;
 > 187			cros_ucsi_async_control(udata->ucsi, &cmd);
   188	
   189			/* Check again after a few seconds that the system has
   190			 * recovered to make sure our async write above was successful.
   191			 */
   192			schedule_delayed_work(&udata->write_tmo,
   193					      msecs_to_jiffies(WRITE_TMO_MS));
   194			return;
   195		}
   196	
   197		/* We recovered from a previous timeout. Treat this as a recovery from
   198		 * suspend and call resume.
   199		 */
   200		ucsi_resume(udata->ucsi);
   201	}
   202	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux