<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/input/keyboard/matrix_keypad.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2025-04-09T21:21:46Z</updated>
<entry>
<title>Input: matrix_keypad - detect change during scan</title>
<updated>2025-04-09T21:21:46Z</updated>
<author>
<name>Markus Burri</name>
<email>markus.burri@mt.com</email>
</author>
<published>2025-02-26T15:28:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=353bdd7d1456ff601794d2e196ffcb097f131214'/>
<id>urn:sha1:353bdd7d1456ff601794d2e196ffcb097f131214</id>
<content type='text'>
For a setup where the matrix keypad is connected over a slow interface
(e.g. a gpio-expansion over i2c), the scan can take a longer time to read.

Interrupts need to be disabled during scan. And therefore changes in this
period are not detected.
To improve this situation, scan the matrix again if the row state changed
during interrupts disabled.
The rescan is repeated until no change is detected anymore.

Signed-off-by: Markus Burri &lt;markus.burri@mt.com&gt;
Link: https://lore.kernel.org/r/20250226152843.43932-4-markus.burri@mt.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - add function for reading row state</title>
<updated>2025-04-09T21:21:38Z</updated>
<author>
<name>Markus Burri</name>
<email>markus.burri@mt.com</email>
</author>
<published>2025-02-26T15:28:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a37af8e8c1dc25e097ae1bce98980ad75d5921bc'/>
<id>urn:sha1:a37af8e8c1dc25e097ae1bce98980ad75d5921bc</id>
<content type='text'>
Move the evaluation of a row state into separate function.
It will be also used by a change later in this series.

Signed-off-by: Markus Burri &lt;markus.burri@mt.com&gt;
Reviewed-by: Manuel Traut &lt;manuel.traut@mt.com&gt;
Link: https://lore.kernel.org/r/20250226152843.43932-2-markus.burri@mt.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - use fsleep for delays after activating columns</title>
<updated>2025-02-25T19:22:00Z</updated>
<author>
<name>Markus Burri</name>
<email>markus.burri@mt.com</email>
</author>
<published>2025-02-25T18:59:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e71087ebcd0eb02ca7b4b99c468e1f20435f4bcb'/>
<id>urn:sha1:e71087ebcd0eb02ca7b4b99c468e1f20435f4bcb</id>
<content type='text'>
The delay is specified in a device property, so the duration can be
arbitrarily large. fsleep() determines the best way of delaying (sleep
vs spin) based on duration.

see Documentation/timers/delay_sleep_functions.rst

Signed-off-by: Markus Burri &lt;markus.burri@mt.com&gt;
Reviewed-by: Manuel Traut &lt;manuel.traut@mt.com&gt;
Link: https://lore.kernel.org/r/20250110054906.354296-2-markus.burri@mt.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - add settle time after enabling all columns</title>
<updated>2025-02-25T19:22:00Z</updated>
<author>
<name>Markus Burri</name>
<email>markus.burri@mt.com</email>
</author>
<published>2025-02-25T17:59:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=90a0a63451e42e3638039dde2e511e95a8486880'/>
<id>urn:sha1:90a0a63451e42e3638039dde2e511e95a8486880</id>
<content type='text'>
Matrix keypads with high capacity need a longer settle time after
enabling all columns before re-enabling interrupts. The delay gives
the system time to settle and avoids spurious interrupts.

Add a new optional device property to configure the delay after
enabling all columns. The default is no delay.

Signed-off-by: Markus Burri &lt;markus.burri@mt.com&gt;
Reviewed-by: Manuel Traut &lt;manuel.traut@mt.com&gt;
Link: https://lore.kernel.org/r/20250110054906.354296-7-markus.burri@mt.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - remove duplicated include</title>
<updated>2024-10-04T11:15:55Z</updated>
<author>
<name>Yang Li</name>
<email>yang.lee@linux.alibaba.com</email>
</author>
<published>2024-09-10T01:01:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1ec46bf0e48a46e181f5c8efb4732127e2fddeee'/>
<id>urn:sha1:1ec46bf0e48a46e181f5c8efb4732127e2fddeee</id>
<content type='text'>
The header files consumer.h is included twice in matrix_keypad.c,
so one inclusion of each can be removed.

Reported-by: Abaci Robot &lt;abaci@linux.alibaba.com&gt;
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=10823
Signed-off-by: Yang Li &lt;yang.lee@linux.alibaba.com&gt;
Link: https://lore.kernel.org/r/20240910010133.44579-1-yang.lee@linux.alibaba.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - use guard notation when acquiring spinlock</title>
<updated>2024-10-03T15:58:56Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2024-08-25T05:16:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=405b1762aef34e4bc8f39ce20ad27e2d336bbe27'/>
<id>urn:sha1:405b1762aef34e4bc8f39ce20ad27e2d336bbe27</id>
<content type='text'>
This makes the code more compact and error handling more robust
by ensuring that locks are released in all code paths when control
leaves critical section.

Link: https://lore.kernel.org/r/20240825051627.2848495-12-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - remove support for platform data</title>
<updated>2024-09-06T04:43:42Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2024-08-05T01:47:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=de35996d4b364749194c5b473d1912578880833e'/>
<id>urn:sha1:de35996d4b364749194c5b473d1912578880833e</id>
<content type='text'>
There are no more users of struct matrix_keypad_platform_data in the
kernel, remove support for it from the driver.

Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Link: https://lore.kernel.org/r/20240805014710.1961677-6-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - switch to gpiod API and generic device properties</title>
<updated>2024-09-06T04:43:42Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2024-08-05T01:47:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=584bf366f8fa8b588437d452af0cbb445fbbbe5d'/>
<id>urn:sha1:584bf366f8fa8b588437d452af0cbb445fbbbe5d</id>
<content type='text'>
gpiod API and generic device properties work with software nodes and
static properties, which will allow removing platform data support
from the driver, simplifying and streamlining the code.

Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Link: https://lore.kernel.org/r/20240805014710.1961677-3-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - remove support for clustered interrupt</title>
<updated>2024-09-06T04:43:42Z</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2024-08-05T01:47:04Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5080f62adb126e28d316298505272efea0aed81a'/>
<id>urn:sha1:5080f62adb126e28d316298505272efea0aed81a</id>
<content type='text'>
There are no users of this functionality in the mainline kernel (it was
only available to boards using platform data and not device tree).
Remove it to simplify the code.

Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Link: https://lore.kernel.org/r/20240805014710.1961677-2-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: matrix_keypad - remove an unused field in struct matrix_keypad</title>
<updated>2024-05-06T22:41:33Z</updated>
<author>
<name>Christophe JAILLET</name>
<email>christophe.jaillet@wanadoo.fr</email>
</author>
<published>2024-05-01T05:41:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9df327854920946897bcdfaec7e135c899e8028a'/>
<id>urn:sha1:9df327854920946897bcdfaec7e135c899e8028a</id>
<content type='text'>
In "struct matrix_keypad", the 'gpio_all_disabled' field is unused.
Remove it.

Found with cppcheck, unusedStructMember.

Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Link: https://lore.kernel.org/r/4f1a946789445500b6118b9ee1d6ef5255f8c696.1714542052.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
</feed>
