<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/input/serio/libps2.c, branch v2.6.31</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Input: libps2 - better handle bad scheduler decisions</title>
<updated>2009-05-28T17:34:02+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2009-05-28T16:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a3ce6ea46cc0d6397d1b92b1a5983bb2935306ed'/>
<id>a3ce6ea46cc0d6397d1b92b1a5983bb2935306ed</id>
<content type='text'>
Sometimes devices send us their responses in time but due to
unfortunate scheduling decisions the receiving thread does not
get scheduled till much later and we erroneously decide that
device timed out. Work around this problem by checking whether we
received the data we needed instead of checking timeout
condition.

Tested-by: Sitsofe Wheeler &lt;sitsofe@yahoo.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometimes devices send us their responses in time but due to
unfortunate scheduling decisions the receiving thread does not
get scheduled till much later and we erroneously decide that
device timed out. Work around this problem by checking whether we
received the data we needed instead of checking timeout
condition.

Tested-by: Sitsofe Wheeler &lt;sitsofe@yahoo.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: libps2 - handle 0xfc responses from devices</title>
<updated>2008-11-24T16:43:21+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2008-11-19T22:02:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a2d781fc8d9b16113dd9440107d73c0f21d7cbef'/>
<id>a2d781fc8d9b16113dd9440107d73c0f21d7cbef</id>
<content type='text'>
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: libps2 - remove delayed command execution</title>
<updated>2008-05-16T18:50:49+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2008-05-06T16:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ccd3474569a101914444dc37cc108eec22578999'/>
<id>ccd3474569a101914444dc37cc108eec22578999</id>
<content type='text'>
Delayed command execution is not used by anyone so let's remove it.

Reported-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Delayed command execution is not used by anyone so let's remove it.

Reported-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: drop redundant includes of moduleparam.h</title>
<updated>2008-01-21T06:11:07+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2007-11-27T05:45:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3b04a61107dfe46dbfc1796298b59ca3c0a09cd9'/>
<id>3b04a61107dfe46dbfc1796298b59ca3c0a09cd9</id>
<content type='text'>
Drop #include &lt;linux/moduleparam.h&gt; in files that also include
linux/module.h, since module.h includes moduleparam.h already.

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Drop #include &lt;linux/moduleparam.h&gt; in files that also include
linux/module.h, since module.h includes moduleparam.h already.

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Storage class should be before const qualifier</title>
<updated>2007-02-17T19:11:19+00:00</updated>
<author>
<name>Tobias Klauser</name>
<email>tklauser@distanz.ch</email>
</author>
<published>2007-02-17T19:11:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c5a69d57eb48e36f84c0737b5b24ec277d7dbfba'/>
<id>c5a69d57eb48e36f84c0737b5b24ec277d7dbfba</id>
<content type='text'>
The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.

Signed-off-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The C99 specification states in section 6.11.5:

The placement of a storage-class specifier other than at the
beginning of the declaration specifiers in a declaration is an
obsolescent feature.

Signed-off-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>WorkStruct: Pass the work_struct pointer instead of context data</title>
<updated>2006-11-22T14:55:48+00:00</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2006-11-22T14:55:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=65f27f38446e1976cc98fd3004b110fedcddd189'/>
<id>65f27f38446e1976cc98fd3004b110fedcddd189</id>
<content type='text'>
Pass the work_struct pointer to the work function rather than context data.
The work function can use container_of() to work out the data.

For the cases where the container of the work_struct may go away the moment the
pending bit is cleared, it is made possible to defer the release of the
structure by deferring the clearing of the pending bit.

To make this work, an extra flag is introduced into the management side of the
work_struct.  This governs auto-release of the structure upon execution.

Ordinarily, the work queue executor would release the work_struct for further
scheduling or deallocation by clearing the pending bit prior to jumping to the
work function.  This means that, unless the driver makes some guarantee itself
that the work_struct won't go away, the work function may not access anything
else in the work_struct or its container lest they be deallocated..  This is a
problem if the auxiliary data is taken away (as done by the last patch).

However, if the pending bit is *not* cleared before jumping to the work
function, then the work function *may* access the work_struct and its container
with no problems.  But then the work function must itself release the
work_struct by calling work_release().

In most cases, automatic release is fine, so this is the default.  Special
initiators exist for the non-auto-release case (ending in _NAR).


Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pass the work_struct pointer to the work function rather than context data.
The work function can use container_of() to work out the data.

For the cases where the container of the work_struct may go away the moment the
pending bit is cleared, it is made possible to defer the release of the
structure by deferring the clearing of the pending bit.

To make this work, an extra flag is introduced into the management side of the
work_struct.  This governs auto-release of the structure upon execution.

Ordinarily, the work queue executor would release the work_struct for further
scheduling or deallocation by clearing the pending bit prior to jumping to the
work function.  This means that, unless the driver makes some guarantee itself
that the work_struct won't go away, the work function may not access anything
else in the work_struct or its container lest they be deallocated..  This is a
problem if the auxiliary data is taken away (as done by the last patch).

However, if the pending bit is *not* cleared before jumping to the work
function, then the work function *may* access the work_struct and its container
with no problems.  But then the work function must itself release the
work_struct by calling work_release().

In most cases, automatic release is fine, so this is the default.  Special
initiators exist for the non-auto-release case (ending in _NAR).


Signed-Off-By: David Howells &lt;dhowells@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: serio - add lockdep annotations</title>
<updated>2006-10-11T05:45:31+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jikos@jikos.cz</email>
</author>
<published>2006-10-11T05:45:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=88aa0103e408616e433c209e80169ab8d6eda99e'/>
<id>88aa0103e408616e433c209e80169ab8d6eda99e</id>
<content type='text'>
Signed-off-by: Jiri Kosina &lt;jikos@jikos.cz&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Jiri Kosina &lt;jikos@jikos.cz&gt;
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: libps2 - rearrange exports</title>
<updated>2006-09-14T05:31:40+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dtor@insightbb.com</email>
</author>
<published>2006-09-14T05:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5206c0d5ec514733dd098cf658d71327d199c7a0'/>
<id>5206c0d5ec514733dd098cf658d71327d199c7a0</id>
<content type='text'>
The new way is to mark function as exported right after its definition.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new way is to mark function as exported right after its definition.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: atkbd - support Microsoft Natural Elite Pro keyboards</title>
<updated>2006-09-14T05:31:27+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dtor@insightbb.com</email>
</author>
<published>2006-09-14T05:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9807879bfdc0c2b5106b4b378f5475c6a333d853'/>
<id>9807879bfdc0c2b5106b4b378f5475c6a333d853</id>
<content type='text'>
Microsoft Natural Elite Pro keyboard produces unisual response to
the GET ID command - single byte 0xaa (normally keyboards produce
2-byte response). Fail GET ID command so atkbd gets a change to
do alternate probe.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Microsoft Natural Elite Pro keyboard produces unisual response to
the GET ID command - single byte 0xaa (normally keyboards produce
2-byte response). Fail GET ID command so atkbd gets a change to
do alternate probe.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: libps2 - warn instead of oopsing when passed bad arguments</title>
<updated>2006-07-07T03:54:48+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dtor@insightbb.com</email>
</author>
<published>2006-07-07T03:54:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=95349fe8144b7d18f04bdca1c2d3fb85789de4fb'/>
<id>95349fe8144b7d18f04bdca1c2d3fb85789de4fb</id>
<content type='text'>
This is more user-friendly and also fixes Coverity #id 249

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is more user-friendly and also fixes Coverity #id 249

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