On Fri, Feb 27, 2009 at 12:33:44PM -0800, Andrew Morton wrote: > On Fri, 27 Feb 2009 21:28:02 +0200 > Felipe Balbi <me@xxxxxxxxxxxxxxx> wrote: > > > +static irqreturn_t powerbutton_irq(int irq, void *dev_id) > > +{ > > + int err; > > + u8 value; > > + > > +#ifdef CONFIG_LOCKDEP > > + /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which > > + * we don't want and can't tolerate. Although it might be > > + * friendlier not to borrow this thread context... > > + */ > > + local_irq_enable(); > > +#endif > > + > > + err = twl4030_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &value, > > + STS_HW_CONDITIONS); > > + if (!err) { > > + input_report_key(powerbutton_dev, KEY_POWER, > > + value & PWR_PWRON_IRQ); > > + } else { > > + dev_err(dbg_dev, "twl4030: i2c error %d while reading TWL4030" > > + " PM_MASTER STS_HW_CONDITIONS register\n", err); > > + } > > + > > + return IRQ_HANDLED; > > +} > > Tell us some more about this lockdep thing ;) David Brownell can comment better about it, that came from him when we were converting twl4030 driver(s) to a more readable form :-) If you take a look at all twl4030's children, you'll all of them needed that. Dave, could you comment, please ? -- balbi -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html