<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/input/keyboard/atkbd.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-07-13T07:08:10Z</updated>
<entry>
<title>Input: atkbd - make dmi callback functions return 1</title>
<updated>2011-07-13T07:08:10Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2011-07-13T06:59:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c388b2c67e64d20cc0ad0d48d0e3e819d489bfed'/>
<id>urn:sha1:c388b2c67e64d20cc0ad0d48d0e3e819d489bfed</id>
<content type='text'>
We only care about if there is a successful match from the table (or
no match at all), so let's make dmi_check_system return immediately
instead of iterating thorough the whole table.

Make the dmi callback function return 1 then dmi_check_system
will return immediately if we have a successful match.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: atkbd - add 'terminal' parameter for IBM Terminal keyboards</title>
<updated>2010-11-04T17:30:48Z</updated>
<author>
<name>Benjamin LaHaise</name>
</author>
<published>2010-11-04T17:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c5188b6d350d033275eaf85faa12f284e2909e4'/>
<id>urn:sha1:8c5188b6d350d033275eaf85faa12f284e2909e4</id>
<content type='text'>
Many of the IBM Terminal keyboards from the 1980s and early 1990s communicate
using a protocol similar, but not identical to the AT keyboard protocol.
(Models known to be like this include 6110344, 6110668, 1390876, 1386887, and
possibly others.)

When the connector is rewired or adapter to an AT-DIN or PS/2 connector, they
can be connected to a standard PC, with three caveats:

a) They can only use scancode set 3; requests to use anything else are
quietly ignored.
b) The AT Command to request Make, Break and Repeat codes is not properly
interpreted.
c) The top function keys on a 122 key keyboard, and the arrow/edit keys in
the middle of the board send non-standard scancodes.

C) is easily taken care of in userspace, by use of setkeycodes
B) can be taken care of by a userspace hack (that makes the kernel complain
in dmesg)
A) is fixable in theory, but on the keyboard i tested on (6110668), it seems
to be detected unoverridably as Set 2, causing userspace oddities that make
it harder to fix C).

Enclosed is a small patch to the kernel that fixes A) and B) in the kernel,
making it much easier to fix C) in userspace. It adds a single kernel
command line parameter that overrides the detection that sets these boards
as set 2, and instead of sending the Make-break-repeat command to the
keyboard, it sends the make-break command, which is properly recognized by
these keyboards. Software level key repeating seems to make up for the lack
of hardware repeat codes perfectly.

Without manually setting the command line parameter (tentatively named
atkbd.terminal), this code has no effect, and the driver works exactly as
before.

See also:

http://www.seasip.info/VintagePC/ibm_1390876.html
http://www.seasip.info/VintagePC/ibm_6110344.html
http://geekhack.org/showwiki.php?title=Island:7306

Signed-off-by: Erika Quinn &lt;erikas.aubade@gmail.com&gt;
Signed-off-by: Benjamin LaHaise &lt;bcrl@kvack.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: atkbd - release previously reserved keycodes 248 - 254</title>
<updated>2010-02-26T08:23:59Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2010-02-26T08:22:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b70858ba8d4537daf782defebe5f2ff80ccef2b'/>
<id>urn:sha1:4b70858ba8d4537daf782defebe5f2ff80ccef2b</id>
<content type='text'>
Keycodes in 248 - 254 range were reserved for special needs (scrolling)
of atkbd driver. Now that the driver has been switched to use unsigned
short keycodes instead of unsigned char we can release this range back
into pull. We keep code 255 (ATKBD_KEY_NULL) reserved since users may
have been using it to silence keys they do not care about since atkbd
silently drops scancodes mapped to this keycode.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.33-rc5' into next</title>
<updated>2010-01-22T07:55:25Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2010-01-22T07:55:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7755726fe90a8b253659756e6de68c1a55aa427f'/>
<id>urn:sha1:7755726fe90a8b253659756e6de68c1a55aa427f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Input: atkbd - switch to dev_err() and friends</title>
<updated>2010-01-07T07:54:32Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2010-01-07T07:51:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a9a1f9c315c27fe7a260cd453167981cd680dae8'/>
<id>urn:sha1:a9a1f9c315c27fe7a260cd453167981cd680dae8</id>
<content type='text'>
dev_err(), dev_warn() and dev_dbg() ensure consistency in driver messages.
Also switch to using bool where appropriate and fix some formatting issues.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: atkbd - fix canceling event_work in disconnect</title>
<updated>2010-01-06T08:16:14Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2010-01-06T01:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ef7a26af1278f7ec0b718148e88f01ba1953835'/>
<id>urn:sha1:0ef7a26af1278f7ec0b718148e88f01ba1953835</id>
<content type='text'>
We need to first unregister input device and only then cancel event work
since events can arrive (and cause event work to get scheduled again)
until input_unregister_device() returns.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: serio - fix potential deadlock when unbinding drivers</title>
<updated>2010-01-06T08:14:32Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2010-01-06T01:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59b015133cd0034f5904a76969d73476380aac46'/>
<id>urn:sha1:59b015133cd0034f5904a76969d73476380aac46</id>
<content type='text'>
sysfs_remove_group() waits for sysfs attributes to be removed, therefore
we do not need to worry about driver-specific attributes being accessed
after driver has been detached from the device. In fact, attempts to take
serio-&gt;drv_mutex in attribute methods may lead to the following deadlock:

                                          sysfs_read_file()
                                            fill_read_buffer()
                                              sysfs_get_active_two()
                                                psmouse_attr_show_helper()
                                                  serio_pin_driver()
serio_disconnect_driver()
  mutex_lock(&amp;serio-&gt;drv_mutex);
                                &lt;--------&gt;        mutex_lock(&amp;serio_drv_mutex);
    psmouse_disconnect()
      sysfs_remove_group(... psmouse_attr_group);
        ....
        sysfs_deactivate();
          wait_for_completion();

Fix this by removing calls to serio_[un]pin_driver() and functions themselves
and using driver-private mutexes to serialize access to attribute's set()
methods that may change device state.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: speed up suspend/shutdown for PS/2 mice and keyboards</title>
<updated>2009-12-25T05:42:57Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2009-12-25T05:40:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a299bf591bc5bef3bde8316e603b9eaec5a7696'/>
<id>urn:sha1:4a299bf591bc5bef3bde8316e603b9eaec5a7696</id>
<content type='text'>
Instead of doing full-blown reset while suspending or shutting down
the box use lighter form of reset that should take less time.

Tested-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Tested-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: atkbd - remove identification strings from DMI table</title>
<updated>2009-12-05T06:11:37Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2009-12-04T18:24:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c45fc81ec6a9bd6cca42e60b35b31f9df822860b'/>
<id>urn:sha1:c45fc81ec6a9bd6cca42e60b35b31f9df822860b</id>
<content type='text'>
The driver does not reference identification strings in DMI table and
since these strings are no longer required by DMI core we can safely
remove them and save some memory.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: atkbd - restore LED state at reconnect</title>
<updated>2009-11-13T07:21:04Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2009-11-13T07:19:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4119bdacfcd88a763e250fe0efa6a2e11d30e88'/>
<id>urn:sha1:d4119bdacfcd88a763e250fe0efa6a2e11d30e88</id>
<content type='text'>
Even though input core tells us to restore LED state and repeat rate
at resume keyboard may be reconnected either by request from userspace
(via sysfs) or just by pulling it from the box and plugging it back in.
In these cases we still need to restore state ourselves.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
</feed>
