RE: [PATCH v1] Support Elan Touchscreen eKTF product.

2012-10-23 Thread 劉嘉駿
Hi Dmitry:
This driver is not related to Tom's driver. This driver is ELAN
standard I2C driver for touch panel and its packets is defined by ELAN own
format and not related to HID over I2C.

Thanks,
Scott

> -Original Message-
> From: Jian-Jhong Ding [mailto:jj_d...@emc.com.tw]
> Sent: Tuesday, October 23, 2012 10:15 AM
> To: Dmitry Torokhov
> Cc: Scott Liu; linux-in...@vger.kernel.org; linux-i2c@vger.kernel.org;
> linux-ker...@vger.kernel.org; Benjamin Tissoires; Jesse; Vincent Wang;
Paul
> Subject: Re: [PATCH v1] Support Elan Touchscreen eKTF product.
> 
> Dmitry Torokhov  writes:
> > On Mon, Oct 22, 2012 at 11:47:42AM +0800, Jian-Jhong Ding wrote:
> >> With Benjamin's i2c-hid implimentation, is it possible to make
> >> hid-multitouch not depend on USBHID and reuse it to drive this device?
> >
> > Exactly. Before looking any further - is this the same part that Tom Lin
> > posted a driver for earlier this summer?
> 
> No.  Tom's driver was only for trackpads, this is probably for some
> touch panel.  The controller ICs may have some similarities, but the
> firmware is developed independently, though both somewhat conform to the
> HID over I2C protocol.
> 
> Thanks,
> -JJ
> > Thanks.
> >
> > --
> > Dmitry

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH v1] Support Elan Touchscreen eKTF product.

2012-10-22 Thread 劉嘉駿
Hi,

> -Original Message-
> From: Benjamin Tissoires [mailto:benjamin.tissoi...@gmail.com]
> Sent: Tuesday, October 23, 2012 1:12 AM
> To: Dmitry Torokhov
> Cc: Jian-Jhong Ding; Scott Liu; linux-in...@vger.kernel.org;
linux-i2c@vger.kernel.org;
> linux-ker...@vger.kernel.org; Jesse; Vincent Wang; Paul
> Subject: Re: [PATCH v1] Support Elan Touchscreen eKTF product.
> 
> On Mon, Oct 22, 2012 at 6:07 PM, Dmitry Torokhov
>  wrote:
> > On Mon, Oct 22, 2012 at 11:47:42AM +0800, Jian-Jhong Ding wrote:
> >> Scott Liu  writes:
> >> > +
> >> > +struct mt_device {
> >> > +   struct mt_slot curdata; /* placeholder of incoming data */
> >> > +   __u8 num_received;  /* how many contacts we received */
> >> > +   __u8 num_expected;  /* expected last contact index */
> >> > +   __u8 maxcontacts;
> >> > +   bool curvalid;  /* is the current contact valid? */
> >> > +   struct mt_slot *slots;
> >> > +};
> >>
> >> With Benjamin's i2c-hid implimentation, is it possible to make
> >> hid-multitouch not depend on USBHID and reuse it to drive this device?
> 
> We can already use hid-multitouch with hid over I2C devices (I'm
> testing my i2c devices with this module).
> But it's true that hid-multitouch depends on usbhid, and I the funny
> think is that I was removing this dependency today.
> The fact is that currently, i2c devices do not segfault with
> hid-multitouch  because win8 devices do not require anymore to set
> some feature at plug.
> 
> >
> > Exactly. Before looking any further - is this the same part that Tom Lin
> > posted a driver for earlier this summer?
> 
> I'm not Elan, and I can not be sure, but judging from the "hello
> packets" and the other commands, I doubt this device is an I2C over
> HID one.
> 
It's an I2C device with ELAN own format, no HID packet transferring.

> Anyway, reusing hid-multitouch for this specific case seams to be a
> little bit difficult. You would have first to provide a fake report
> descriptor (or inject commands as if you were hid-core) and then, you
> would have to reformat the incoming data into valid win7 (or 8)
> packets. Judging by the functions elan_touch_parse_fid,
> elan_touch_parse_wid and elants_parse_xy, the data seem to be mixed
> (all the finger ids at the beginning, and not one per touch), so it is
> definitively needed to recreate a valid HID packet.
> 
> So I'm not surprised with the duplicated code. However, Henrik did a
> big job in kernel 3.7 to factorize mt code, and some part of the
> duplication can be achieve with these functions (look at
> input_mt_sync_frame and input_mt_get_slot_by_key for example).
> 
I think so; it would cause too much pain for reuse hid-multitouch.
BTW, I'll have checked Henrik's code to see if there are possible to reuse
some code.

Thanks,
Scott


> Cheers,
> Benjamin
> 
> >
> > Thanks.
> >
> > --
> > Dmitry

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1] Support Elan Touchscreen eKTF product.

2012-10-22 Thread Jian-Jhong Ding
Dmitry Torokhov  writes:
> On Mon, Oct 22, 2012 at 11:47:42AM +0800, Jian-Jhong Ding wrote:
>> With Benjamin's i2c-hid implimentation, is it possible to make
>> hid-multitouch not depend on USBHID and reuse it to drive this device?
>
> Exactly. Before looking any further - is this the same part that Tom Lin
> posted a driver for earlier this summer?

No.  Tom's driver was only for trackpads, this is probably for some
touch panel.  The controller ICs may have some similarities, but the
firmware is developed independently, though both somewhat conform to the
HID over I2C protocol.

Thanks,
-JJ
> Thanks.
>
> -- 
> Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1] Support Elan Touchscreen eKTF product.

2012-10-22 Thread Benjamin Tissoires
On Mon, Oct 22, 2012 at 6:07 PM, Dmitry Torokhov
 wrote:
> On Mon, Oct 22, 2012 at 11:47:42AM +0800, Jian-Jhong Ding wrote:
>> Scott Liu  writes:
>> > +
>> > +struct mt_device {
>> > +   struct mt_slot curdata; /* placeholder of incoming data */
>> > +   __u8 num_received;  /* how many contacts we received */
>> > +   __u8 num_expected;  /* expected last contact index */
>> > +   __u8 maxcontacts;
>> > +   bool curvalid;  /* is the current contact valid? */
>> > +   struct mt_slot *slots;
>> > +};
>>
>> With Benjamin's i2c-hid implimentation, is it possible to make
>> hid-multitouch not depend on USBHID and reuse it to drive this device?

We can already use hid-multitouch with hid over I2C devices (I'm
testing my i2c devices with this module).
But it's true that hid-multitouch depends on usbhid, and I the funny
think is that I was removing this dependency today.
The fact is that currently, i2c devices do not segfault with
hid-multitouch  because win8 devices do not require anymore to set
some feature at plug.

>
> Exactly. Before looking any further - is this the same part that Tom Lin
> posted a driver for earlier this summer?

I'm not Elan, and I can not be sure, but judging from the "hello
packets" and the other commands, I doubt this device is an I2C over
HID one.

Anyway, reusing hid-multitouch for this specific case seams to be a
little bit difficult. You would have first to provide a fake report
descriptor (or inject commands as if you were hid-core) and then, you
would have to reformat the incoming data into valid win7 (or 8)
packets. Judging by the functions elan_touch_parse_fid,
elan_touch_parse_wid and elants_parse_xy, the data seem to be mixed
(all the finger ids at the beginning, and not one per touch), so it is
definitively needed to recreate a valid HID packet.

So I'm not surprised with the duplicated code. However, Henrik did a
big job in kernel 3.7 to factorize mt code, and some part of the
duplication can be achieve with these functions (look at
input_mt_sync_frame and input_mt_get_slot_by_key for example).

Cheers,
Benjamin

>
> Thanks.
>
> --
> Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v1] Support Elan Touchscreen eKTF product.

2012-10-22 Thread Dmitry Torokhov
On Mon, Oct 22, 2012 at 11:47:42AM +0800, Jian-Jhong Ding wrote:
> Scott Liu  writes:
> > +
> > +struct mt_device {
> > +   struct mt_slot curdata; /* placeholder of incoming data */
> > +   __u8 num_received;  /* how many contacts we received */
> > +   __u8 num_expected;  /* expected last contact index */
> > +   __u8 maxcontacts;
> > +   bool curvalid;  /* is the current contact valid? */
> > +   struct mt_slot *slots;
> > +};
> 
> With Benjamin's i2c-hid implimentation, is it possible to make
> hid-multitouch not depend on USBHID and reuse it to drive this device?

Exactly. Before looking any further - is this the same part that Tom Lin
posted a driver for earlier this summer?

Thanks.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html