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.