RE: New Elantech touchpad version?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry,
I add comment for it.
-----Original Message-----
From: Dmitry Torokhov [mailto:dmitry.torokhov@xxxxxxxxx] 
Sent: Tuesday, June 21, 2016 2:21 AM
To: Patrick Lessard; kt.liao@xxxxxxxxxx
Cc: linux-input@xxxxxxxxxxxxxxx
Subject: Re: New Elantech touchpad version?

Hi Patrick,

On Mon, Jun 20, 2016 at 06:10:41PM +0000, Patrick Lessard wrote:
> Hello!
> 
> First, thank you very much for creating a driver for the Elantech touchpads. Very appeciated.
> 
> I’ve contacted one of the original author, Arjan Opmeer and he 
> directed me to you. (those 2 email addresses actually)
> 
> I just bought a HP Pavilion 14-ab057ca laptop and I think it uses a new version of the Elantech touchpad.
> 
> On linux, when I boot, I get this message :
> 
> « psmouse serio1: elantech: unknown hardware version, aborting... »
> 
> By looking at the kernel driver code in elantech.c below, I might try a quick patch and add a case higher than 14, compile and try it.

Looking at HP site it seems that at least some batches of this laptop are shipping with Elan touchpads.

KT, do we need to expand the list in elantech_set_properties() to include more IC types?
[KT]:I have checked our touchpad IC list, we should add "case 11" and "case 12" in the version switch case . and their hw_versoin is 4.
    Do I need to upstream or you will modify it directly?
> 
> If succesfull, could you include a fix in the near future?
> 
> Are you still maintaining this driver?
> 
> How should I proceed?
> 
> Thank you very much for your attention.
> 
> Patrick.
> 
> 
> Code snippet :
> 
> ….
> 
> static int elantech_set_properties(struct elantech_data *etd) {
>         /* This represents the version of IC body. */
>         int ver = (etd->fw_version & 0x0f0000) >> 16;
> 
>         /* Early version of Elan touchpads doesn't obey the rule. */
>         if (etd->fw_version < 0x020030 || etd->fw_version == 0x020600)
>                etd->hw_version = 1;
>         else {
>                switch (ver) {
>                case 2:
>                case 4:
>                        etd->hw_version = 2;
>                        break;
>                case 5:
>                        etd->hw_version = 3;
>                        break;
>                case 6:
>                case 7:
>                case 8:
>                case 9:
>                case 10:
>                case 13:
>                case 14:
>                        etd->hw_version = 4;
>                        break;
>                default:
>                        return -1;
>                }
>         }
> 

Thanks.

--
Dmitry

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



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux