Thread (5 messages) flat view 5 messages, 2 authors, 2011-01-25

Re: [PATCH] Input: wm831x - Add driver for Wolfson WM831x PMIC touchscreen controllers

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2011-01-25 19:51:15

On Tue, Jan 25, 2011 at 11:50:19AM -0800, Dmitry Torokhov wrote:
On Tue, Jan 25, 2011 at 07:34:23PM +0000, Mark Brown wrote:
quoted
On Tue, Jan 25, 2011 at 09:07:29AM -0800, Dmitry Torokhov wrote:
quoted
On Tue, Jan 25, 2011 at 02:09:16PM +0000, Mark Brown wrote:
quoted
quoted
+	int data_irq;
+	int pd_irq;
quoted
Maybe make irqs unsigned?
I guess.
quoted
quoted
+static void wm831x_ts_input_close(struct input_dev *idev)
+{
+	struct wm831x_ts *wm831x_ts = input_get_drvdata(idev);
+	struct wm831x *wm831x = wm831x_ts->wm831x;
+
+	wm831x_set_bits(wm831x, WM831X_TOUCH_CONTROL_1,
+			WM831X_TCH_ENA | WM831X_TCH_CVT_ENA |
+			WM831X_TCH_X_ENA | WM831X_TCH_Y_ENA |
+			WM831X_TCH_Z_ENA, 0);
+
+	if (wm831x_ts->pen_down)
+		disable_irq_nosync(wm831x_ts->data_irq);
quoted
Why nosync?
Cut'n'paste from the pen up handling in the data IRQ (which obviously
does need to be nosync due to the fact that it runs from IRQ context).
quoted
quoted
+	input_dev = input_allocate_device();
quoted
Are we 100% sure it is impossible for the 2 irqs above to fire up before
we get here? Like if we happen to have hardware in half-active state
while binding?
It's spectacularly unlikely - in the sort of hardware this device is
useful for nothing below Linux would realistically want to talk to the
touchscreen and since the IRQs are threaded they can't be shared.
Would you please move input allocation still - even if it works fine
with your device the code might be used as an example by other
authors... and there should be no penalties for your driver if you
allocate just a tad earlier.
Ah, you did already. Thank you.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help