Re: [PATCH] Input: elan_i2c - enable ELAN0600 acpi panels

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

 



On Tue, Mar 31, 2015 at 05:34:58PM -0400, Benjamin Tissoires wrote:
> ELAN0600 seems to work just fine in mouse emulation mode through i2c-hid,
> but to have full raw touch support we need to register it in elan_i2c.ko
> 
> Found on a Lenovo Yoga 3 11".
> 
> Reported-and-tested-by: Alessio Treglia <alessio@xxxxxxxxxx>
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> ---
> 
> Hi,
> 
> Alessio reported this touchpad on the Lenovo Yoga 3. I must say that I am
> rather surprised that we need a cross tree support to enable this panel
> and I would expect that the driver would be in the HID subtree, not a direct
> input device.
> 
> I understand the driver needs to access to the raw I2C commands, but still,
> we could have worked around in the HID tree directly.
> Not to mention that the DT binding would have required only i2c-hid, not a
> custom vendor.
> 
> Anyway, Jiri, Dmitry, who wants to take this one?

Hmm, so elan_i2c.ko (and elants_i2c) is intended to be used with devices
that are not compatible with HID protocol, as far as I know. I guess
there are firmwares that can do both, but then we should default to HID.

Duson, any comments?

Thanks!

> 
> Cheers,
> Benjamin
> 
>  drivers/hid/hid-core.c              | 1 +
>  drivers/input/mouse/elan_i2c_core.c | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 722a925..33a22f4 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -2259,6 +2259,7 @@ static const struct hid_device_id hid_ignore_list[] = {
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_DELORME, USB_DEVICE_ID_DELORME_EM_LT20) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, 0x0004) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, 0x000a) },
> +	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, 0x0400) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC5UH) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_ETT, USB_DEVICE_ID_TC4UM) },
> diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c
> index 375d98f..ced9a9c 100644
> --- a/drivers/input/mouse/elan_i2c_core.c
> +++ b/drivers/input/mouse/elan_i2c_core.c
> @@ -1110,6 +1110,7 @@ MODULE_DEVICE_TABLE(i2c, elan_id);
>  #ifdef CONFIG_ACPI
>  static const struct acpi_device_id elan_acpi_id[] = {
>  	{ "ELAN0000", 0 },
> +	{ "ELAN0600", 0 },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(acpi, elan_acpi_id);
> -- 
> 2.3.4
> 

-- 
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