platform/x86: intel_atomisp2_pm: Refactor timeout loop
The timeout loop look more naturally when done like unsigned long timeout = ...; ... do { ... if (cond) return %OK; sleep(...); } while (time_before(timeout)); ...print timeout error... return %ERROR; It also saves LOCs. Convert the driver to this format of timeout loop. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
Родитель
a28215844d
Коммит
81bda12aad
|
@ -50,24 +50,20 @@ static int isp_set_power(struct pci_dev *dev, bool enable)
|
|||
* And we do the same for power on.
|
||||
*/
|
||||
timeout = jiffies + msecs_to_jiffies(50);
|
||||
while (1) {
|
||||
do {
|
||||
u32 tmp;
|
||||
|
||||
/* Wait until ISPSSPM0 bit[25:24] shows the right value */
|
||||
iosf_mbi_read(BT_MBI_UNIT_PMC, MBI_REG_READ, ISPSSPM0, &tmp);
|
||||
tmp = (tmp & ISPSSPM0_ISPSSS_MASK) >> ISPSSPM0_ISPSSS_OFFSET;
|
||||
if (tmp == val)
|
||||
break;
|
||||
return 0;
|
||||
|
||||
if (time_after(jiffies, timeout)) {
|
||||
dev_err(&dev->dev, "IUNIT power-%s timeout.\n",
|
||||
enable ? "on" : "off");
|
||||
return -EBUSY;
|
||||
}
|
||||
usleep_range(1000, 2000);
|
||||
}
|
||||
} while (time_before(jiffies, timeout));
|
||||
|
||||
return 0;
|
||||
dev_err(&dev->dev, "IUNIT power-%s timeout.\n", enable ? "on" : "off");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
static int isp_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
||||
|
|
Загрузка…
Ссылка в новой задаче