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