Re: [PATCH 3/9] Input: pixcir_i2c_ts: Initialize interrupt mode and power mode
From: Dmitry Torokhov <hidden>
Date: 2013-12-18 14:14:13
Also in:
linux-devicetree, lkml
From: Dmitry Torokhov <hidden>
Date: 2013-12-18 14:14:13
Also in:
linux-devicetree, lkml
On Wed, Dec 18, 2013 at 02:51:14PM +0530, Roger Quadros wrote:
+
+static int pixcir_stop(struct pixcir_i2c_ts_data *ts)
+{
+ struct device *dev = &ts->client->dev;
+ int ret;
+
+ /* disable interrupt generation */
+ ret = pixcir_int_enable(ts, 0);
+ if (ret) {
+ dev_err(dev, "Failed to disable interrupt generation\n");
+ return ret;
+ }
+
+ disable_irq(ts->client->irq);Why do you need to disable IRQ? If you disable interrupt generation in the chip I think you only need to call synchronize_irq() to make sure it's completed if it happens to be running. Also you need to move the code: tsdata->exiting = true; mb(); here from pixcir_i2c_ts_remove() to make sure handler exits promptly. You will also need to reset tsdata->exiting in your start method. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html