lkml.org 
[lkml]   [2012]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] netwinder: nw_gpio_lock is a raw_spinlock_t
From
Date
On Tue, 2012-05-29 at 12:06 +0200, Christian Dietrich wrote:
> --- a/drivers/char/ds1620.c
> +++ b/drivers/char/ds1620.c
> @@ -74,21 +74,21 @@ static inline void netwinder_ds1620_reset(void)
>
> static inline void netwinder_lock(unsigned long *flags)
> {
> - spin_lock_irqsave(&nw_gpio_lock, *flags);
> + raw_spin_lock_irqsave(&nw_gpio_lock, *flags);
> }
>
> static inline void netwinder_unlock(unsigned long *flags)
> {
> - spin_unlock_irqrestore(&nw_gpio_lock, *flags);
> + raw_spin_unlock_irqrestore(&nw_gpio_lock, *flags);
> }

If you were to make these functions public by shifting them into
arch/arm/mach-footbridge/include/mach/hardware.h that would be a lot
nicer, and other places wouldn't have to touch the raw spinlock
directly.

Also... while we're thinking about preemption and netwinder, note that
the write enable is valid for only 2ms or so. So all the functions in
dc21285.c that you just touched should probably *also* be disabling
preemption when they're run on a netwinder, to ensure that that time
doesn't expire before they actually get to run.

--
dwmw2
[unhandled content-type:application/x-pkcs7-signature]
\
 
 \ /
  Last update: 2012-05-29 13:21    [from the cache]
©2003-2011 Jasper Spaans