tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0072a0c14d5b7cb72c611d396f143f5dcd73ebe2 commit: b04e68d16605dcde1c21b5df5f86a5372e53ae97 mfd: madera: Don't use regmap_read_poll_timeout to poll for BOOT_DONE date: 6 weeks ago
coccinelle warnings: (new ones prefixed by >>) >> drivers/mfd/madera-core.c:158:2-3: Unneeded semicolon vim +158 drivers/mfd/madera-core.c 137 138 static int madera_wait_for_boot(struct madera *madera) 139 { 140 ktime_t timeout; 141 unsigned int val; 142 int ret = 0; 143 144 /* 145 * We can't use an interrupt as we need to runtime resume to do so, 146 * so we poll the status bit. This won't race with the interrupt 147 * handler because it will be blocked on runtime resume. 148 * The chip could NAK a read request while it is booting so ignore 149 * errors from regmap_read. 150 */ 151 timeout = ktime_add_us(ktime_get(), MADERA_BOOT_POLL_TIMEOUT_USEC); 152 regmap_read(madera->regmap, MADERA_IRQ1_RAW_STATUS_1, &val); 153 while (!(val & MADERA_BOOT_DONE_STS1) && 154 !ktime_after(ktime_get(), timeout)) { 155 usleep_range(MADERA_BOOT_POLL_INTERVAL_USEC / 2, 156 MADERA_BOOT_POLL_INTERVAL_USEC); 157 regmap_read(madera->regmap, MADERA_IRQ1_RAW_STATUS_1, &val); > 158 }; 159 160 if (!(val & MADERA_BOOT_DONE_STS1)) { 161 dev_err(madera->dev, "Polling BOOT_DONE_STS timed out\n"); 162 ret = -ETIMEDOUT; 163 } 164 165 /* 166 * BOOT_DONE defaults to unmasked on boot so we must ack it. 167 * Do this even after a timeout to avoid interrupt storms. 168 */ 169 regmap_write(madera->regmap, MADERA_IRQ1_STATUS_1, 170 MADERA_BOOT_DONE_EINT1); 171 172 pm_runtime_mark_last_busy(madera->dev); 173 174 return ret; 175 } 176 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation