<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/tty/serial/mpsc.c, branch v3.15</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>serial: mpsc: Remove casting the return value which is a void pointer</title>
<updated>2013-09-26T21:29:58+00:00</updated>
<author>
<name>Jingoo Han</name>
<email>jg1.han@samsung.com</email>
</author>
<published>2013-09-09T05:07:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5c02fab62e953a5281d7daa7bdd18892c4b43741'/>
<id>5c02fab62e953a5281d7daa7bdd18892c4b43741</id>
<content type='text'>
Casting the return value which is a void pointer is redundant.
The conversion from void pointer to any other pointer type is
guaranteed by the C programming language.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Acked-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Casting the return value which is a void pointer is redundant.
The conversion from void pointer to any other pointer type is
guaranteed by the C programming language.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Acked-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tty: serial: mpsc: drop uart_port-&gt;lock before calling tty_flip_buffer_push()</title>
<updated>2013-08-27T23:17:34+00:00</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-08-19T14:44:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=bf7f5ee36ec356c50821e865f8a1d3871a2d9810'/>
<id>bf7f5ee36ec356c50821e865f8a1d3871a2d9810</id>
<content type='text'>
The current driver triggers a lockdep warning for if tty_flip_buffer_push() is
called with uart_port-&gt;lock locked. This never shows up on UP kernels and comes
up only on SMP kernels.

Crash looks like this (produced with samsung.c driver):

-----
[&lt;c0014d58&gt;] (unwind_backtrace+0x0/0xf8) from [&lt;c0011908&gt;] (show_stack+0x10/0x14)
[&lt;c0011908&gt;] (show_stack+0x10/0x14) from [&lt;c035da34&gt;] (dump_stack+0x6c/0xac)
[&lt;c035da34&gt;] (dump_stack+0x6c/0xac) from [&lt;c01b59ac&gt;] (do_raw_spin_unlock+0xc4/0xd8)
[&lt;c01b59ac&gt;] (do_raw_spin_unlock+0xc4/0xd8) from [&lt;c03627e4&gt;] (_raw_spin_unlock_irqrestore+0xc/0)
[&lt;c03627e4&gt;] (_raw_spin_unlock_irqrestore+0xc/0x38) from [&lt;c020a1a8&gt;] (s3c24xx_serial_rx_chars+0)
[&lt;c020a1a8&gt;] (s3c24xx_serial_rx_chars+0x12c/0x260) from [&lt;c020aae8&gt;] (s3c64xx_serial_handle_irq+)
[&lt;c020aae8&gt;] (s3c64xx_serial_handle_irq+0x48/0x60) from [&lt;c006aaa0&gt;] (handle_irq_event_percpu+0x)
[&lt;c006aaa0&gt;] (handle_irq_event_percpu+0x50/0x194) from [&lt;c006ac20&gt;] (handle_irq_event+0x3c/0x5c)
[&lt;c006ac20&gt;] (handle_irq_event+0x3c/0x5c) from [&lt;c006d864&gt;] (handle_fasteoi_irq+0x80/0x13c)
[&lt;c006d864&gt;] (handle_fasteoi_irq+0x80/0x13c) from [&lt;c006a4a4&gt;] (generic_handle_irq+0x20/0x30)
[&lt;c006a4a4&gt;] (generic_handle_irq+0x20/0x30) from [&lt;c000f454&gt;] (handle_IRQ+0x38/0x94)
[&lt;c000f454&gt;] (handle_IRQ+0x38/0x94) from [&lt;c0008538&gt;] (gic_handle_irq+0x34/0x68)
[&lt;c0008538&gt;] (gic_handle_irq+0x34/0x68) from [&lt;c00123c0&gt;] (__irq_svc+0x40/0x70)
Exception stack(0xc04cdf70 to 0xc04cdfb8)
df60:                                     00000000 00000000 0000166e 00000000
df80: c04cc000 c050278f c050278f 00000001 c04d444c 410fc0f4 c03649b0 00000000
dfa0: 00000001 c04cdfb8 c000f758 c000f75c 60070013 ffffffff
[&lt;c00123c0&gt;] (__irq_svc+0x40/0x70) from [&lt;c000f75c&gt;] (arch_cpu_idle+0x28/0x30)
[&lt;c000f75c&gt;] (arch_cpu_idle+0x28/0x30) from [&lt;c0054888&gt;] (cpu_startup_entry+0x5c/0x148)
[&lt;c0054888&gt;] (cpu_startup_entry+0x5c/0x148) from [&lt;c0497aa4&gt;] (start_kernel+0x334/0x38c)
BUG: spinlock lockup suspected on CPU#0, kworker/0:1/360
 lock: s3c24xx_serial_ports+0x1d8/0x370, .magic: dead4ead, .owner: &lt;none&gt;/-1, .owner_cpu: -1
CPU: 0 PID: 360 Comm: kworker/0:1 Not tainted 3.11.0-rc6-next-20130819-00003-g75485f1 #2
Workqueue: events flush_to_ldisc
[&lt;c0014d58&gt;] (unwind_backtrace+0x0/0xf8) from [&lt;c0011908&gt;] (show_stack+0x10/0x14)
[&lt;c0011908&gt;] (show_stack+0x10/0x14) from [&lt;c035da34&gt;] (dump_stack+0x6c/0xac)
[&lt;c035da34&gt;] (dump_stack+0x6c/0xac) from [&lt;c01b581c&gt;] (do_raw_spin_lock+0x100/0x17c)
[&lt;c01b581c&gt;] (do_raw_spin_lock+0x100/0x17c) from [&lt;c03628a0&gt;] (_raw_spin_lock_irqsave+0x20/0x28)
[&lt;c03628a0&gt;] (_raw_spin_lock_irqsave+0x20/0x28) from [&lt;c0203224&gt;] (uart_start+0x18/0x34)
[&lt;c0203224&gt;] (uart_start+0x18/0x34) from [&lt;c01ef890&gt;] (__receive_buf+0x4b4/0x738)
[&lt;c01ef890&gt;] (__receive_buf+0x4b4/0x738) from [&lt;c01efb44&gt;] (n_tty_receive_buf2+0x30/0x98)
[&lt;c01efb44&gt;] (n_tty_receive_buf2+0x30/0x98) from [&lt;c01f2ba8&gt;] (flush_to_ldisc+0xec/0x138)
[&lt;c01f2ba8&gt;] (flush_to_ldisc+0xec/0x138) from [&lt;c0031af0&gt;] (process_one_work+0xfc/0x348)
[&lt;c0031af0&gt;] (process_one_work+0xfc/0x348) from [&lt;c0032138&gt;] (worker_thread+0x138/0x37c)
[&lt;c0032138&gt;] (worker_thread+0x138/0x37c) from [&lt;c0037a7c&gt;] (kthread+0xa4/0xb0)
[&lt;c0037a7c&gt;] (kthread+0xa4/0xb0) from [&lt;c000e5f8&gt;] (ret_from_fork+0x14/0x3c)
-----

Release the port lock before calling tty_flip_buffer_push() and reacquire it
after the call.

Similar stuff was already done for few other drivers in the past, like:

commit 2389b272168ceec056ca1d8a870a97fa9c26e11a
Author: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Date:   Tue May 29 21:53:50 2007 +0100

    [ARM] 4417/1: Serial: Fix AMBA drivers locking

Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current driver triggers a lockdep warning for if tty_flip_buffer_push() is
called with uart_port-&gt;lock locked. This never shows up on UP kernels and comes
up only on SMP kernels.

Crash looks like this (produced with samsung.c driver):

-----
[&lt;c0014d58&gt;] (unwind_backtrace+0x0/0xf8) from [&lt;c0011908&gt;] (show_stack+0x10/0x14)
[&lt;c0011908&gt;] (show_stack+0x10/0x14) from [&lt;c035da34&gt;] (dump_stack+0x6c/0xac)
[&lt;c035da34&gt;] (dump_stack+0x6c/0xac) from [&lt;c01b59ac&gt;] (do_raw_spin_unlock+0xc4/0xd8)
[&lt;c01b59ac&gt;] (do_raw_spin_unlock+0xc4/0xd8) from [&lt;c03627e4&gt;] (_raw_spin_unlock_irqrestore+0xc/0)
[&lt;c03627e4&gt;] (_raw_spin_unlock_irqrestore+0xc/0x38) from [&lt;c020a1a8&gt;] (s3c24xx_serial_rx_chars+0)
[&lt;c020a1a8&gt;] (s3c24xx_serial_rx_chars+0x12c/0x260) from [&lt;c020aae8&gt;] (s3c64xx_serial_handle_irq+)
[&lt;c020aae8&gt;] (s3c64xx_serial_handle_irq+0x48/0x60) from [&lt;c006aaa0&gt;] (handle_irq_event_percpu+0x)
[&lt;c006aaa0&gt;] (handle_irq_event_percpu+0x50/0x194) from [&lt;c006ac20&gt;] (handle_irq_event+0x3c/0x5c)
[&lt;c006ac20&gt;] (handle_irq_event+0x3c/0x5c) from [&lt;c006d864&gt;] (handle_fasteoi_irq+0x80/0x13c)
[&lt;c006d864&gt;] (handle_fasteoi_irq+0x80/0x13c) from [&lt;c006a4a4&gt;] (generic_handle_irq+0x20/0x30)
[&lt;c006a4a4&gt;] (generic_handle_irq+0x20/0x30) from [&lt;c000f454&gt;] (handle_IRQ+0x38/0x94)
[&lt;c000f454&gt;] (handle_IRQ+0x38/0x94) from [&lt;c0008538&gt;] (gic_handle_irq+0x34/0x68)
[&lt;c0008538&gt;] (gic_handle_irq+0x34/0x68) from [&lt;c00123c0&gt;] (__irq_svc+0x40/0x70)
Exception stack(0xc04cdf70 to 0xc04cdfb8)
df60:                                     00000000 00000000 0000166e 00000000
df80: c04cc000 c050278f c050278f 00000001 c04d444c 410fc0f4 c03649b0 00000000
dfa0: 00000001 c04cdfb8 c000f758 c000f75c 60070013 ffffffff
[&lt;c00123c0&gt;] (__irq_svc+0x40/0x70) from [&lt;c000f75c&gt;] (arch_cpu_idle+0x28/0x30)
[&lt;c000f75c&gt;] (arch_cpu_idle+0x28/0x30) from [&lt;c0054888&gt;] (cpu_startup_entry+0x5c/0x148)
[&lt;c0054888&gt;] (cpu_startup_entry+0x5c/0x148) from [&lt;c0497aa4&gt;] (start_kernel+0x334/0x38c)
BUG: spinlock lockup suspected on CPU#0, kworker/0:1/360
 lock: s3c24xx_serial_ports+0x1d8/0x370, .magic: dead4ead, .owner: &lt;none&gt;/-1, .owner_cpu: -1
CPU: 0 PID: 360 Comm: kworker/0:1 Not tainted 3.11.0-rc6-next-20130819-00003-g75485f1 #2
Workqueue: events flush_to_ldisc
[&lt;c0014d58&gt;] (unwind_backtrace+0x0/0xf8) from [&lt;c0011908&gt;] (show_stack+0x10/0x14)
[&lt;c0011908&gt;] (show_stack+0x10/0x14) from [&lt;c035da34&gt;] (dump_stack+0x6c/0xac)
[&lt;c035da34&gt;] (dump_stack+0x6c/0xac) from [&lt;c01b581c&gt;] (do_raw_spin_lock+0x100/0x17c)
[&lt;c01b581c&gt;] (do_raw_spin_lock+0x100/0x17c) from [&lt;c03628a0&gt;] (_raw_spin_lock_irqsave+0x20/0x28)
[&lt;c03628a0&gt;] (_raw_spin_lock_irqsave+0x20/0x28) from [&lt;c0203224&gt;] (uart_start+0x18/0x34)
[&lt;c0203224&gt;] (uart_start+0x18/0x34) from [&lt;c01ef890&gt;] (__receive_buf+0x4b4/0x738)
[&lt;c01ef890&gt;] (__receive_buf+0x4b4/0x738) from [&lt;c01efb44&gt;] (n_tty_receive_buf2+0x30/0x98)
[&lt;c01efb44&gt;] (n_tty_receive_buf2+0x30/0x98) from [&lt;c01f2ba8&gt;] (flush_to_ldisc+0xec/0x138)
[&lt;c01f2ba8&gt;] (flush_to_ldisc+0xec/0x138) from [&lt;c0031af0&gt;] (process_one_work+0xfc/0x348)
[&lt;c0031af0&gt;] (process_one_work+0xfc/0x348) from [&lt;c0032138&gt;] (worker_thread+0x138/0x37c)
[&lt;c0032138&gt;] (worker_thread+0x138/0x37c) from [&lt;c0037a7c&gt;] (kthread+0xa4/0xb0)
[&lt;c0037a7c&gt;] (kthread+0xa4/0xb0) from [&lt;c000e5f8&gt;] (ret_from_fork+0x14/0x3c)
-----

Release the port lock before calling tty_flip_buffer_push() and reacquire it
after the call.

Similar stuff was already done for few other drivers in the past, like:

commit 2389b272168ceec056ca1d8a870a97fa9c26e11a
Author: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Date:   Tue May 29 21:53:50 2007 +0100

    [ARM] 4417/1: Serial: Fix AMBA drivers locking

Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: use dev_get_platdata()</title>
<updated>2013-08-01T00:56:15+00:00</updated>
<author>
<name>Jingoo Han</name>
<email>jg1.han@samsung.com</email>
</author>
<published>2013-07-30T08:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=574de559c1797618fd8ed03576837eb3113c5d26'/>
<id>574de559c1797618fd8ed03576837eb3113c5d26</id>
<content type='text'>
Use the wrapper function for retrieving the platform data instead of
accessing dev-&gt;platform_data directly.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the wrapper function for retrieving the platform data instead of
accessing dev-&gt;platform_data directly.

Signed-off-by: Jingoo Han &lt;jg1.han@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>TTY: switch tty_flip_buffer_push</title>
<updated>2013-01-16T06:30:15+00:00</updated>
<author>
<name>Jiri Slaby</name>
<email>jslaby@suse.cz</email>
</author>
<published>2013-01-03T14:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2e124b4a390ca85325fae75764bef92f0547fa25'/>
<id>2e124b4a390ca85325fae75764bef92f0547fa25</id>
<content type='text'>
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.

Now, the one where most of tty_port_tty_get gets removed:
tty_flip_buffer_push.

IOW we also closed all the races in drivers not using tty_port_tty_get
at all yet.

Also we move tty_flip_buffer_push declaration from include/linux/tty.h
to include/linux/tty_flip.h to all others while we are changing it
anyway.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.

Now, the one where most of tty_port_tty_get gets removed:
tty_flip_buffer_push.

IOW we also closed all the races in drivers not using tty_port_tty_get
at all yet.

Also we move tty_flip_buffer_push declaration from include/linux/tty.h
to include/linux/tty_flip.h to all others while we are changing it
anyway.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>TTY: move low_latency to tty_port</title>
<updated>2013-01-16T06:23:16+00:00</updated>
<author>
<name>Jiri Slaby</name>
<email>jslaby@suse.cz</email>
</author>
<published>2013-01-03T14:53:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d6c53c0e9bd0a83f9f9ddbc9fd80141a54d83896'/>
<id>d6c53c0e9bd0a83f9f9ddbc9fd80141a54d83896</id>
<content type='text'>
One point is to have less places where we actually need tty pointer.
The other is that low_latency is bound to buffer processing and
buffers are now in tty_port. So it makes sense to move low_latency to
tty_port too.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One point is to have less places where we actually need tty pointer.
The other is that low_latency is bound to buffer processing and
buffers are now in tty_port. So it makes sense to move low_latency to
tty_port too.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>TTY: switch tty_insert_flip_char</title>
<updated>2013-01-16T06:21:36+00:00</updated>
<author>
<name>Jiri Slaby</name>
<email>jslaby@suse.cz</email>
</author>
<published>2013-01-03T14:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=92a19f9cec9a80ad93c06e115822deb729e2c6ad'/>
<id>92a19f9cec9a80ad93c06e115822deb729e2c6ad</id>
<content type='text'>
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.

tty_insert_flip_char is the next one to proceed. This one is used all
over the code, so the patch is huge.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty in many
call sites. Only tty_port will needed and hence no more
tty_port_tty_get in those paths.

tty_insert_flip_char is the next one to proceed. This one is used all
over the code, so the patch is huge.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>TTY: switch tty_buffer_request_room to tty_port</title>
<updated>2013-01-16T06:17:28+00:00</updated>
<author>
<name>Jiri Slaby</name>
<email>jslaby@suse.cz</email>
</author>
<published>2013-01-03T14:53:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=227434f8986c3827a1faedd1feb437acd6285315'/>
<id>227434f8986c3827a1faedd1feb437acd6285315</id>
<content type='text'>
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty pointer in
many call sites. Only tty_port will be needed and hence no more
tty_port_tty_get calls in those paths.

Here we start with tty_buffer_request_room.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now, we start converting tty buffer functions to actually use
tty_port. This will allow us to get rid of the need of tty pointer in
many call sites. Only tty_port will be needed and hence no more
tty_port_tty_get calls in those paths.

Here we start with tty_buffer_request_room.

Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tty: move drivers/serial/ to drivers/tty/serial/</title>
<updated>2011-01-13T20:10:18+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2011-01-13T20:10:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ab4382d27412e7e3e7c936e8d50d8888dfac3df8'/>
<id>ab4382d27412e7e3e7c936e8d50d8888dfac3df8</id>
<content type='text'>
The serial drivers are really just tty drivers, so move them to
drivers/tty/ to make things a bit neater overall.

This is part of the tty/serial driver movement proceedure as proposed by
Arnd Bergmann and approved by everyone involved a number of months ago.

Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Rogier Wolff &lt;R.E.Wolff@bitwizard.nl&gt;
Cc: Michael H. Warfield &lt;mhw@wittsend.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The serial drivers are really just tty drivers, so move them to
drivers/tty/ to make things a bit neater overall.

This is part of the tty/serial driver movement proceedure as proposed by
Arnd Bergmann and approved by everyone involved a number of months ago.

Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Rogier Wolff &lt;R.E.Wolff@bitwizard.nl&gt;
Cc: Michael H. Warfield &lt;mhw@wittsend.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
