<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/serialP.h, branch v2.6.16.45</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.16.45</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v2.6.16.45'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2005-07-27T10:41:18Z</updated>
<entry>
<title>[SERIAL] Convert parport_serial to use new 8250_pci interfaces</title>
<updated>2005-07-27T10:41:18Z</updated>
<author>
<name>Russell King</name>
<email>rmk@dyn-67.arm.linux.org.uk</email>
</author>
<published>2005-07-27T10:41:18Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=05caac585f8abd6c0113856bc8858e3ef214d8a6'/>
<id>urn:sha1:05caac585f8abd6c0113856bc8858e3ef214d8a6</id>
<content type='text'>
Convert parport_serial to use the new 8250_pci interface, converting
the table to a pciserial_board table.  This also unuses the SPCI_*
definitions in serialP.h, which can now be removed.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[PATCH] Serial: Remove linux/version.h</title>
<updated>2005-07-16T08:59:00Z</updated>
<author>
<name>Olaf Hering</name>
<email>olh@suse.de</email>
</author>
<published>2005-07-16T08:59:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6d283d271674b1127881ebf082266a2c3fe6e0e4'/>
<id>urn:sha1:6d283d271674b1127881ebf082266a2c3fe6e0e4</id>
<content type='text'>
changing CONFIG_LOCALVERSION rebuilds too much, for no appearent reason.

Signed-off-by: Olaf Hering &lt;olh@suse.de&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[PATCH] ppc32: Fix UART initialisation on WindRiver SBC8560.</title>
<updated>2004-07-15T13:07:49Z</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@redhat.com</email>
</author>
<published>2004-07-15T13:07:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=74f6d57e96a7fa0d42e19cad835647120bfd41cb'/>
<id>urn:sha1:74f6d57e96a7fa0d42e19cad835647120bfd41cb</id>
<content type='text'>
The UART tristates its IRQ output when the OUT2 bit in the MCR isn't
set. For reasons not known to civilised man, the hardware engineers
stopped it from floating by pulling it _high_ instead of low, so if
anybody requests that IRQ before OUT2 is turned on, we die in an IRQ
storm. The serial8250 driver does precisely that thing, with precisely
that effect.

ALPHA_KLUDGE_MCR was designed to fix exactly this kind of problem, so we
use it here as intended. Ideally ALPHA_KLUDGE_MCR would go away and be
replaced with something like UPF_FORCE_OUT2 and UPF_FORCE_OUT1 flags,
but now is not the time to get me started on a cleanup of everything
about serial8250 that offends me.
</content>
</entry>
<entry>
<title>[SERIAL] serialP.h: remove a kernel 2.2 #ifdef</title>
<updated>2004-03-15T23:03:37Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@de.rmk.(none)</email>
</author>
<published>2004-03-15T23:03:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b965eeb8aa0104efb0a41e03b351c03d1b635067'/>
<id>urn:sha1:b965eeb8aa0104efb0a41e03b351c03d1b635067</id>
<content type='text'>
Patch from Adrian Bunk
</content>
</entry>
<entry>
<title>[PATCH] janitor: cleanup includes (drivers/char)</title>
<updated>2003-10-03T15:32:13Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rddunlap@osdl.org</email>
</author>
<published>2003-10-03T15:32:13Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=79f4adeeefde6b1c151339a669357d6760aba778'/>
<id>urn:sha1:79f4adeeefde6b1c151339a669357d6760aba778</id>
<content type='text'>
From: Randy Hron &lt;rwhron@earthlink.net&gt;

Cleanup of version.h in drivers/char plus a few in include/linux
that are used in drivers/char.

Duplicate #includes removed.
</content>
</entry>
<entry>
<title>[PATCH] tty_driver refcounting</title>
<updated>2003-06-11T14:41:28Z</updated>
<author>
<name>Alexander Viro</name>
<email>viro@www.linux.org.uk</email>
</author>
<published>2003-06-11T14:41:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=99a21edebbfd8c29e39ee7fcc8a1ffa423657290'/>
<id>urn:sha1:99a21edebbfd8c29e39ee7fcc8a1ffa423657290</id>
<content type='text'>
killed the last remnants of callout stuff - we don't need to mess with
storing termios privately anymore.
</content>
</entry>
<entry>
<title>[PATCH] callout removal: cleanup</title>
<updated>2003-05-26T13:55:36Z</updated>
<author>
<name>Alexander Viro</name>
<email>viro@www.linux.org.uk</email>
</author>
<published>2003-05-26T13:55:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d9e9b8c8b7c8b6546844a8c0e18ab5f4da47110b'/>
<id>urn:sha1:d9e9b8c8b7c8b6546844a8c0e18ab5f4da47110b</id>
<content type='text'>
misc cleanup - switched to standard constant names for .subtype in the
drivers that had private equivalents, removed unused -&gt;callout_termios
and friends from the last places where they were defined.
</content>
</entry>
<entry>
<title>[PATCH] Amiga serial updates</title>
<updated>2003-03-20T14:04:29Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2003-03-20T14:04:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=50d21c5c175593d06021b7950557622a3f88f363'/>
<id>urn:sha1:50d21c5c175593d06021b7950557622a3f88f363</id>
<content type='text'>
Convert Amiga serial driver to use tasklets (from Roman Zippel)
</content>
</entry>
<entry>
<title>[SERIAL] Remove old pci_board cruft from serialP.h</title>
<updated>2002-10-09T02:10:59Z</updated>
<author>
<name>Russell King</name>
<email>rmk@flint.arm.linux.org.uk</email>
</author>
<published>2002-10-09T02:10:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=52a22f8032c1835e71f7f19ef66b32393e1a0997'/>
<id>urn:sha1:52a22f8032c1835e71f7f19ef66b32393e1a0997</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[PATCH] Workqueue Abstraction</title>
<updated>2002-10-01T05:17:42Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2002-10-01T05:17:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6ed12ff83c765aeda7d38d3bf9df7d46d24bfb11'/>
<id>urn:sha1:6ed12ff83c765aeda7d38d3bf9df7d46d24bfb11</id>
<content type='text'>
This is the next iteration of the workqueue abstraction.

The framework includes:

 - per-CPU queueing support.

on SMP there is a per-CPU worker thread (bound to its CPU) and per-CPU
work queues - this feature is completely transparent to workqueue-users.
keventd automatically uses this feature. XFS can now update to work-queues
and have the same per-CPU performance as it had with its per-CPU worker
threads.

 - delayed work submission

there's a new queue_delayed_work(wq, work, delay) function and a new
schedule_delayed_work(work, delay) function. The later one is used to
correctly fix former tq_timer users. I've reverted those changes in 2.5.40
that changed tq_timer uses to schedule_work() - eg. in the case of
random.c or the tty flip queue it was definitely the wrong thing to do.

delayed work means a timer embedded in struct work_struct.  I considered
using split struct work_struct and delayed_work_struct types, but lots
of code actively uses task-queues in both delayed and non-delayed mode,
so i went for the more generic approach that allows both methods of work
submission.  Delayed timers do not cause any other overhead in the
normal submission path otherwise.

 - multithreaded run_workqueue() implementation

the run_workqueue() function can now be called from multiple contexts, and
a worker thread will only use up a single entryy - this property is used
by the flushing code, and can potentially be used in the future to extend
the number of per-CPU worker threads.

 - more reliable flushing

there's now a 'pending work' counter, which is used to accurately detect
when the last work-function has finished execution. It's also used to
correctly flush against timed requests. I'm not convinced whether the old
keventd implementation got this detail right.

 - i switched the arguments of the queueing function(s) per Jeff's
   suggestion, it's more straightforward this way.


Driver fixes:

i have converted almost every affected driver to the new framework. This
cleaned up tons of code. I also fixed a number of drivers that were still
using BHs (these drivers did not compile in 2.5.40).

while this means lots of changes, it might ease the QA decision whether to
put this patch into 2.5.

The pach converts roughly 80% of all tqueue-using code to workqueues - and
all the places that are not converted to workqueues yet are places that do
not compile in vanilla 2.5.40 anyway, due to unrelated changes. I've
converted a fair number of drivers that do not compile in 2.5.40, and i
think i've managed to convert every driver that compiles under 2.5.40.
</content>
</entry>
</feed>
