Messages in this thread | | | From | David Brownell <> | Subject | Re: [patch 2.6.25-rc3] lockdep: add spin_lock_irq_nested() | Date | Tue, 26 Feb 2008 02:36:16 -0800 |
| |
On Tuesday 26 February 2008, Peter Zijlstra wrote: > > On Mon, 2008-02-25 at 14:33 -0800, David Brownell wrote: > > > > +#ifdef CONFIG_LOCKDEP > > > + > > > +/* tell lockdep that this IRQ's locks and its parent's locks are in > > > + * different categories, so that it won't detect false recursion. > > > + */ > > > +static struct lock_class_key gpio_lock_class; > > > + > > > +static inline void mark_gpio_locking(unsigned gpio_irq) > > > +{ > > > + lockdep_set_class(&irq_desc[gpio_irq].lock, &gpio_lock_class); > > > +} > > > + > > > +#else > > > + > > > + ... > > Glad to hear this works out for you.
Yeah, glad to have a localized fix rather than mucking with genirq.
> Just one note, you don't need the #ifdef mess here. struct > lock_class_key is 0 bytes on !LOCKDEP and lockdep_set_class*() is > defined away as well.
Hmm, then kernel/irq/handle.c shouldn't need #ifdefs either ... ;)
| |