Thread (12 messages) 12 messages, 5 authors, 2015-05-06

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help