<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/input/mouse/elan_i2c_smbus.c, branch linux-6.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.18.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.18.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2020-12-15T00:27:23Z</updated>
<entry>
<title>Merge branch 'next' into for-linus</title>
<updated>2020-12-15T00:27:23Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2020-12-15T00:27:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4b4193256c8d3bc3a5397b5cd9494c2ad386317d'/>
<id>urn:sha1:4b4193256c8d3bc3a5397b5cd9494c2ad386317d</id>
<content type='text'>
Prepare input updates for 5.11 merge window.
</content>
</entry>
<entry>
<title>Input: elan_i2c - add new trackpoint report type 0x5F</title>
<updated>2020-12-11T08:15:04Z</updated>
<author>
<name>Jingle Wu</name>
<email>jingle.wu@emc.com.tw</email>
</author>
<published>2020-12-11T07:40:09Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=056115daede8d01f71732bc7d778fb85acee8eb6'/>
<id>urn:sha1:056115daede8d01f71732bc7d778fb85acee8eb6</id>
<content type='text'>
The 0x5F is a new trackpoint report type used by some modules.

Signed-off-by: Jingle Wu &lt;jingle.wu@emc.com.tw&gt;
Link: https://lore.kernel.org/r/20201211071511.32349-1-jingle.wu@emc.com.tw
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elan_i2c - fix firmware update on newer ICs</title>
<updated>2020-11-12T04:13:12Z</updated>
<author>
<name>jingle.wu</name>
<email>jingle.wu@emc.com.tw</email>
</author>
<published>2020-11-12T04:06:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ae3d6083acf60116d4f409677452399547ed2009'/>
<id>urn:sha1:ae3d6083acf60116d4f409677452399547ed2009</id>
<content type='text'>
The argument to iap page type command depends on the firmware page size.

Fixes: bfd9b92bc8f9 ("Input: elan_i2c - handle firmware updated on newer ICs")
Signed-off-by: Jingle Wu &lt;jingle.wu@emc.com.tw&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elan_i2c - add support for high resolution reports</title>
<updated>2020-07-21T17:11:18Z</updated>
<author>
<name>Jingle Wu</name>
<email>jingle.wu@emc.com.tw</email>
</author>
<published>2020-07-20T19:46:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=04d5ce620f794f1df69b5f1b9ad62910fea547f1'/>
<id>urn:sha1:04d5ce620f794f1df69b5f1b9ad62910fea547f1</id>
<content type='text'>
Newer controllers (identified as "pattern" version 2) send higher
resolution reports, with 16-bit X and Y coordinates (previous generations
used 12-bit values). These new high resolution reports use report ID of
0x60.

SMbus controllers use the same buffer size for both the new and old
reports, and because of that high resolution reports no longer carry
area of contact data with SMbus.

Signed-off-by: Jingle Wu &lt;jingle.wu@emc.com.tw&gt;
Link: https://lore.kernel.org/r/20200710054116.5529-1-jingle.wu@emc.com.tw
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elan_i2c - do not constantly re-query pattern ID</title>
<updated>2020-07-21T00:35:31Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2020-07-20T21:56:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3d712af637e19a1c139c2b586c08b2a56bdff8c8'/>
<id>urn:sha1:3d712af637e19a1c139c2b586c08b2a56bdff8c8</id>
<content type='text'>
We do not need to constantly re-query pattern ID, we can instead query it
once and then pass to methods that need it.

Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: elan_i2c - handle firmware updated on newer ICs</title>
<updated>2020-07-18T00:36:01Z</updated>
<author>
<name>Jingle Wu</name>
<email>jingle.wu@emc.com.tw</email>
</author>
<published>2020-07-17T05:49:09Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bfd9b92bc8f9a3777961d27a08f62872a21ac507'/>
<id>urn:sha1:bfd9b92bc8f9a3777961d27a08f62872a21ac507</id>
<content type='text'>
Newer ICs with IC type value starting with 0x0D and newer bootloader code
use 128-byte firmware pages. Their bootloader also needs to be switched to
proper mode before executing firmware update.

Signed-off-by: Jingle Wu &lt;jingle.wu@emc.com.tw&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: elan_i2c - add support for different firmware page sizes</title>
<updated>2020-07-18T00:36:00Z</updated>
<author>
<name>Jingle Wu</name>
<email>jingle.wu@emc.com.tw</email>
</author>
<published>2020-07-17T04:32:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=059d6c2de6fd521d4d4a39d127eece3de114b767'/>
<id>urn:sha1:059d6c2de6fd521d4d4a39d127eece3de114b767</id>
<content type='text'>
Prepare driver for devices that use different sizes of firmware pages.

Signed-off-by: Jingle Wu &lt;jingle.wu@emc.com.tw&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500</title>
<updated>2019-06-19T15:09:55Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-06-04T08:11:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d2912cb15bdda8ba4a5dd73396ad62641af2f520'/>
<id>urn:sha1:d2912cb15bdda8ba4a5dd73396ad62641af2f520</id>
<content type='text'>
Based on 2 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license version 2 as
  published by the free software foundation #

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 4122 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;
Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Input: elan_i2c_smbus - cast sizeof to int for comparison</title>
<updated>2018-08-01T23:05:55Z</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2018-08-01T22:57:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ce1d6f22fa69287f877aca37e275c776ed6e6eb5'/>
<id>urn:sha1:ce1d6f22fa69287f877aca37e275c776ed6e6eb5</id>
<content type='text'>
Comparing an int to a size, which is unsigned, causes the int to become
unsigned, giving the wrong result.  i2c_smbus_read_block_data can return the
result of i2c_smbus_xfer, whih can return a negative error code.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
int x;
expression e,e1;
identifier f;
@@

*x = f(...);
... when != x = e1
    when != if (x &lt; 0 || ...) { ... return ...; }
*x &lt; sizeof(e)
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: elan_i2c_smbus - fix more potential stack buffer overflows</title>
<updated>2018-06-22T00:20:41Z</updated>
<author>
<name>Ben Hutchings</name>
<email>ben.hutchings@codethink.co.uk</email>
</author>
<published>2018-06-19T18:17:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=50fc7b61959af4b95fafce7fe5dd565199e0b61a'/>
<id>urn:sha1:50fc7b61959af4b95fafce7fe5dd565199e0b61a</id>
<content type='text'>
Commit 40f7090bb1b4 ("Input: elan_i2c_smbus - fix corrupted stack")
fixed most of the functions using i2c_smbus_read_block_data() to
allocate a buffer with the maximum block size.  However three
functions were left unchanged:

* In elan_smbus_initialize(), increase the buffer size in the same
  way.
* In elan_smbus_calibrate_result(), the buffer is provided by the
  caller (calibrate_store()), so introduce a bounce buffer.  Also
  name the result buffer size.
* In elan_smbus_get_report(), the buffer is provided by the caller
  but happens to be the right length.  Add a compile-time assertion
  to ensure this remains the case.

Cc: &lt;stable@vger.kernel.org&gt; # 3.19+
Signed-off-by: Ben Hutchings &lt;ben.hutchings@codethink.co.uk&gt;
Reviewed-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
</feed>
