Thread (8 messages) 8 messages, 3 authors, 2009-06-11

Re: [PATCH v2] input: add synaptics_i2c driver

From: Mike Rapoport <hidden>
Date: 2009-06-11 10:35:23

Hi Dmitry,

Dmitry Torokhov wrote:
Hi Mike,

On Wed, Jun 03, 2009 at 10:59:27AM +0300, Mike Rapoport wrote:
quoted
This driver supports Synaptics I2C touchpad controller on eXeda
mobile device.
Looks much better, one concern still though:
 
quoted
+
+/* Work Handler */
+static void synaptics_i2c_work_handler(struct work_struct *work)
+{
+	int data = 1;
+	struct synaptics_i2c *touch =
+			container_of(work, struct synaptics_i2c, dwork.work);
+	unsigned long delay;
+
+	synaptics_i2c_check_params(touch);
+
+	do {
+		data = synaptics_i2c_get_input(touch);
+		delay = synaptics_i2c_fix_delay(touch, data);
+	} while (data);
+
This will spin in the work handler for the duration of the touch
hogging keventd on this CPU and delaying all other scheduled works. I
don't think we can do that.

Please try the patchg below and if it still works I will fold it all
together and queue for upstream. Thanks!
Works Ok. Thanks for cleaning up the style :)

-- 
Sincerely yours,
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help