[rtc-linux] [PATCH v3] rtc: snvs: add Freescale rtc-snvs driver
Shawn Guo
shawn.guo at linaro.org
Fri Aug 17 02:14:42 EDT 2012
On Thu, Aug 16, 2012 at 10:08:04AM +0200, Lothar Waßmann wrote:
> Why not read the register once more in case of a timeout, which
> would guarantee to have a current view of the register contents no
> matter how long the process may have been descheduled before:
>
> [...]
> static int snvs_rtc_enable_done(int enable, void __iomem *addr)
> {
> u32 lpcr = readl(addr + SNVS_LPCR);
>
> return !!enable ^ !(lpcr & SNVS_LPCR_SRTC_ENV);
> }
> [...]
> while (1) {
> if (svns_rtc_enable_done(enable, data->ioaddr))
> break;
>
> if (time_after(jiffies, timeout)) {
> if (!svns_rtc_enable_done(enable, data->ioaddr))
> return -ETIMEDOUT;
> }
> }
>
I'm fine with this solution. Can you send a formal patch for this?
Then we will have two incremental patches (I already sent the fixed
times loop one) for Andrew to choose one.
--
Regards,
Shawn
More information about the linux-arm-kernel
mailing list