OSDN Git Service

Input: zinitix - make sure the IRQ is allocated before it gets enabled
[uclinux-h8/linux.git] / drivers / input / touchscreen / zinitix.c
index 3b636be..1e70b8d 100644 (file)
@@ -488,6 +488,15 @@ static int zinitix_ts_probe(struct i2c_client *client)
                return error;
        }
 
+       error = devm_request_threaded_irq(&client->dev, client->irq,
+                                         NULL, zinitix_ts_irq_handler,
+                                         IRQF_ONESHOT | IRQF_NO_AUTOEN,
+                                         client->name, bt541);
+       if (error) {
+               dev_err(&client->dev, "Failed to request IRQ: %d\n", error);
+               return error;
+       }
+
        error = zinitix_init_input_dev(bt541);
        if (error) {
                dev_err(&client->dev,
@@ -513,15 +522,6 @@ static int zinitix_ts_probe(struct i2c_client *client)
                return -EINVAL;
        }
 
-       irq_set_status_flags(client->irq, IRQ_NOAUTOEN);
-       error = devm_request_threaded_irq(&client->dev, client->irq,
-                                         NULL, zinitix_ts_irq_handler,
-                                         IRQF_ONESHOT, client->name, bt541);
-       if (error) {
-               dev_err(&client->dev, "Failed to request IRQ: %d\n", error);
-               return error;
-       }
-
        return 0;
 }