|
@@ -567,14 +567,6 @@ static irqreturn_t twl4030_usb_irq(int irq, void *_twl)
|
|
|
struct twl4030_usb *twl = _twl;
|
|
|
int status;
|
|
|
|
|
|
-#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
|
|
|
-
|
|
|
status = twl4030_usb_linkstat(twl);
|
|
|
if (status >= 0) {
|
|
|
/* FIXME add a set_power() method so that B-devices can
|
|
@@ -695,7 +687,7 @@ static int __devinit twl4030_usb_probe(struct platform_device *pdev)
|
|
|
* need both handles, otherwise just one suffices.
|
|
|
*/
|
|
|
twl->irq_enabled = true;
|
|
|
- status = request_irq(twl->irq, twl4030_usb_irq,
|
|
|
+ status = request_threaded_irq(twl->irq, NULL, twl4030_usb_irq,
|
|
|
IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
|
|
|
"twl4030_usb", twl);
|
|
|
if (status < 0) {
|