RE: [PATCH v1] Support Elan Touchscreen eKTF product.
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.
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.
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.
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.
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