Re: [rtc-linux] [PATCH v3 2/3] rtc: mediatek: Add MT6397 RTC driver
From: Joe Perches <joe@perches.com>
Date: 2015-05-05 20:44:29
Also in:
linux-arm-kernel, linux-mediatek, lkml
On Tue, 2015-05-05 at 22:00 +0200, Alexandre Belloni wrote:
Hi, This looks mostly good. Could you align the wrapped function parameters to the open parenthesis (use checkpatch --strict)? On 28/04/2015 at 15:35:55 +0800, Eddie Huang wrote :quoted
+static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) +{ + unsigned long timeout = jiffies + HZ; + int ret; + u32 data; + + ret = regmap_write(rtc->regmap, rtc->addr_base + RTC_WRTGR, 1); + if (ret < 0) + return ret; + + do { + cpu_relax(); + ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_BBPU, + &data); + if (ret < 0) + goto exit; + } while ((data & RTC_BBPU_CBUSY) && time_after(timeout, jiffies)); +Shouldn't you return -ETIMEDOUT if the loop breaks because of time_after?
Probably yes.
I believe as written the time_after test is too much
for my little brain. I would have used time_before
and reversed the args.
I suggest moving the time_after() test into the loop,
use break; and remove the exit label too.
Maybe something like:
while (1) {
ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_BBPU,
&data);
if (ret < 0)
break;
if (!(data & RTC_BBPU_CBUSY))
break;
if (time_after(jiffies, timeout)) {
ret = -ETIMEDOUT;
break;
}
cpu_relax();
}
return ret;
}
--
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.