On Wed, Mar 23, 2011 at 02:30:04PM -0700, John Stultz wrote:
On Mon, 2011-02-28 at 08:57 +0100, Richard Cochran wrote:
quoted
+/*
+ * Register access functions
+ */
So what are the locking rules on the functions below? I assume the
etsects->lock needs to be held prior to calling, so that should be made
explicit in a comment.
Yes, you are right. I'll add comments.
quoted
+ gfar_write(&etsects->regs->tmr_ctrl, tmr_ctrl);
+ gfar_write(&etsects->regs->tmr_add, etsects->tmr_add);
+ gfar_write(&etsects->regs->tmr_prsc, etsects->tmr_prsc);
+ gfar_write(&etsects->regs->tmr_fiper1, etsects->tmr_fiper1);
+ gfar_write(&etsects->regs->tmr_fiper2, etsects->tmr_fiper2);
+ set_alarm(etsects);
+ gfar_write(&etsects->regs->tmr_ctrl, tmr_ctrl|FS|RTPE|TE);
Does any of the above need a lock should an irq land in the middle of
the writes?
Since these interrupts first must be enabled, I think it unlikely that
an IRQ could occur. However, it can't hurt to add the lock, either.
Thanks,
Richard