lkml.org 
[lkml]   [2010]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] input: mouse: add qci touchpad driver
On 8/12/2010 10:49 PM, Dmitry Torokhov wrote:
> On Thu, Aug 12, 2010 at 01:58:18PM -0400, Neil Leeder wrote:
> Actually, since this is not a new touchpad but simply a PS/2 interface
> it should be implemented as a serio driver, not input device driver.
>
Dmitri,

Thanks for supplying that serio driver. I just have a couple of questions.

Even though the interface on the wpce775x EC happens to be a PS/2
interface, this is completely hidden by the firmware on that device. To
the linux driver it looks like a dedicated i2c connection directly to
the touchpad. You can't substitute any other device on that PS/2
interface without rewriting the firmware in the EC - it's not a generic
interface. A manufacturer could even move the touchpad from the PS/2
interface to say GPIOs, re-write the firmware and the linux driver
couldn't tell the difference. Does that change the rationale for using a
serio driver?

If the request to use a serio driver is still valid, then it seems that
the workqueue from the interrupt handler sends each byte of data
received over i2c in a separate serio_interrupt() call to the touchpad
driver. Touchpad data comes in 3-byte packets, so the touchpad driver
will have to re-assemble the packet from 3 separate interrupts. Is that
the intended use?

> Could you please tell me if the following works for you? Note that it
> expects IRQ to be set up properly (edge vs. level trigger) by the
> platform code

The i2c_board_info that supplies the irq # from platform code doesn't
have a way to set i2c flags, and can't set_irq_type() until after
irq_request(). This may require another platform_data struct to pass the
trigger level in.

Thanks.

--
Neil
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


\
 
 \ /
  Last update: 2010-08-13 23:59    [from the cache]
©2003-2011 Jasper Spaans