From mboxrd@z Thu Jan 1 00:00:00 1970 From: sshtylyov@mvista.com (Sergei Shtylyov) Date: Wed, 03 Aug 2011 15:29:44 +0400 Subject: [PATCH 07/17] mach-integrator: introduce cm_read function helper to read CM_CTRL register In-Reply-To: <1312364089-32380-8-git-send-email-bryan.wu@canonical.com> References: <1312364089-32380-1-git-send-email-bryan.wu@canonical.com> <1312364089-32380-8-git-send-email-bryan.wu@canonical.com> Message-ID: <4E393128.3040602@ru.mvista.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello. On 03-08-2011 13:34, Bryan Wu wrote: > Signed-off-by: Bryan Wu > --- > arch/arm/mach-integrator/core.c | 17 +++++++++++++++++ > arch/arm/mach-integrator/include/mach/cm.h | 1 + > 2 files changed, 18 insertions(+), 0 deletions(-) > diff --git a/arch/arm/mach-integrator/core.c b/arch/arm/mach-integrator/core.c > index 77315b9..0ee6af6 100644 > --- a/arch/arm/mach-integrator/core.c > +++ b/arch/arm/mach-integrator/core.c > @@ -225,6 +225,23 @@ void cm_control(u32 mask, u32 set) > > EXPORT_SYMBOL(cm_control); > > +/** > + * cm_read - read the CM_CTRL register. > + */ > +u32 cm_read(void) > +{ > + unsigned long flags; > + u32 val = 0; > + > + spin_lock_irqsave(&cm_lock, flags); > + val = readl(CM_CTRL); > + spin_unlock_irqrestore(&cm_lock, flags); What's the point of locking around already atomic read? WBR, Sergei