<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/serial, branch v2.6.32.21</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/serial?h=v2.6.32.21</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/serial?h=v2.6.32.21'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-08-02T17:20:52Z</updated>
<entry>
<title>serial: cpm_uart: implement the cpm_uart_early_write() function for console poll</title>
<updated>2010-08-02T17:20:52Z</updated>
<author>
<name>Dongdong Deng</name>
<email>dongdong.deng@windriver.com</email>
</author>
<published>2010-06-17T03:13:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=722531594f182f6976d31c5c6f7c144d4088e266'/>
<id>urn:sha1:722531594f182f6976d31c5c6f7c144d4088e266</id>
<content type='text'>
commit 8cd774ad30c22b9d89823f1f05d845f4cdaba9e8 upstream.

The cpm_uart_early_write() function which was used for console poll
isn't implemented in the cpm uart driver.

Implementing this function both fixes the build when CONFIG_CONSOLE_POLL
is set and allows kgdboc to work via the cpm uart.

Signed-off-by: Dongdong Deng &lt;dongdong.deng@windriver.com&gt;
Reviewed-by: Bruce Ashfield &lt;bruce.ashfield@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: imx.c: fix CTS trigger level lower to avoid lost chars</title>
<updated>2010-05-26T21:29:16Z</updated>
<author>
<name>Valentin Longchamp</name>
<email>valentin.longchamp@epfl.ch</email>
</author>
<published>2010-05-05T09:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5eb1c77df310f6def7a8d9e9e2e2061142a2ad63'/>
<id>urn:sha1:5eb1c77df310f6def7a8d9e9e2e2061142a2ad63</id>
<content type='text'>
commit 1c5250d6163dac28be3afabdfb6c723f107051b7 upstream.

The imx CTS trigger level is left at its reset value that is 32
chars. Since the RX FIFO has 32 entries, when CTS is raised, the
FIFO already is full. However, some serial port devices first empty
their TX FIFO before stopping when CTS is raised, resulting in lost
chars.

This patch sets the trigger level lower so that other chars arrive
after CTS is raised, there is still room for 16 of them.

Signed-off-by: Valentin Longchamp&lt;valentin.longchamp@epfl.ch&gt;
Tested-by: Philippe Rétornaz&lt;philippe.retornaz@epfl.ch&gt;
Acked-by: Wolfram Sang&lt;w.sang@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: 8250_pnp - add Fujitsu Wacom device</title>
<updated>2010-05-12T21:57:05Z</updated>
<author>
<name>Ping Cheng</name>
<email>pingc@wacom.com</email>
</author>
<published>2010-03-22T20:40:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=48a5414b50f47157ef4ff0ab52a86144f1804c19'/>
<id>urn:sha1:48a5414b50f47157ef4ff0ab52a86144f1804c19</id>
<content type='text'>
commit d9901660b53b92f0f3551c06588b8be38224b245 upstream.

Add Fujitsu Wacom 1FGT Tablet PC device

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: imx: fix NULL dereference Oops when pdata == NULL</title>
<updated>2010-03-15T15:49:54Z</updated>
<author>
<name>Baruch Siach</name>
<email>baruch@tkos.co.il</email>
</author>
<published>2009-12-22T00:26:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=83348961d7eb5072a0f5f42a587164d1a3d31fa0'/>
<id>urn:sha1:83348961d7eb5072a0f5f42a587164d1a3d31fa0</id>
<content type='text'>
commit bbcd18d1b37413d25eaf4580682b1b8e4a09ff5e upstream.

The platform code doesn't have to provide platform data to get sensible
default behaviour from the imx serial driver.

This patch does not handle NULL dereference in the IrDA case, which still
requires a valid platform data pointer (in imx_startup()/imx_shutdown()),
since I don't know whether there is a sensible default behaviour, or
should the operation just fail cleanly.

Signed-off-by: Baruch Siach &lt;baruch@tkos.co.il&gt;
Cc: Baruch Siach &lt;baruch@tkos.co.il&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Cc: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Cc: Oskar Schirmer &lt;os@emlix.com&gt;
Cc: Fabian Godehardt &lt;fg@emlix.com&gt;
Cc: Daniel Glöckner &lt;dg@emlix.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: 8250: add serial transmitter fully empty test</title>
<updated>2010-02-23T15:37:56Z</updated>
<author>
<name>Dick Hollenbeck</name>
<email>dick@softplc.com</email>
</author>
<published>2009-12-09T20:31:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=458c2928268392756c01fafebbebc31403968c2c'/>
<id>urn:sha1:458c2928268392756c01fafebbebc31403968c2c</id>
<content type='text'>
commit bca476139d2ded86be146dae09b06e22548b67f3 upstream.

When controlling an industrial radio modem it can be necessary to
manipulate the handshake lines in order to control the radio modem's
transmitter, from userspace.

The transmitter should not be turned off before all characters have been
transmitted.  serial8250_tx_empty() was reporting that all characters were
transmitted before they actually were.

===

Discovered in parallel with more testing and analysis by Kees Schoenmakers
as follows:

I ran into an NetMos 9835 serial pci board which behaves a little
different than the standard.  This type of expansion board is very common.

"Standard" 8250 compatible devices clear the 'UART_LST_TEMT" bit together
with the "UART_LSR_THRE" bit when writing data to the device.

The NetMos device does it slightly different

I believe that the TEMT bit is coupled to the shift register.  The problem
is that after writing data to the device and very quickly after that one
does call serial8250_tx_empty, it returns the wrong information.

My patch makes the test more robust (and solves the problem) and it does
not affect the already correct devices.

Alan:

  We may yet need to quirk this but now we know which chips we have a
  way to do that should we find this breaks some other 8250 clone with
  dodgy THRE.

Signed-off-by: Dick Hollenbeck &lt;dick@softplc.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Cc: Kees Schoenmakers &lt;k.schoenmakers@sigmae.nl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>uartlite: fix crash when using as console</title>
<updated>2010-02-09T12:51:01Z</updated>
<author>
<name>Richard Röjfors</name>
<email>richard.rojfors@pelagicore.com</email>
</author>
<published>2010-02-02T21:44:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b31aa5cccb9b5850135c07d8a0cb22984a5fe0f2'/>
<id>urn:sha1:b31aa5cccb9b5850135c07d8a0cb22984a5fe0f2</id>
<content type='text'>
commit 03eac7bb882a75e6ee5705288f7ec36ad2e7d0d5 upstream.

Move the ulite_console_setup to the .devinit section since it might be
called on probe, which is in devinit.  Fixes the crash below where the
uartlite hw is probed after the .init section is freed from the kernel.

uartlite: ttyUL0 at MMIO 0xc8000100 (irq = 30) is a uartlite
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [&lt;c176720e&gt;] ulite_console_setup+0x6f/0xa8
*pdpt = 0000000036fb0001 *pde = 0000000000000000
Oops: 0000 [#1] PREEMPT SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1f.1/host0/uevent
Modules linked in: puffin(+) serio_raw

Pid: 151, comm: modprobe Not tainted (2.6.31.5-1.0.b1-b1 #1) POULSBO
EIP: 0060:[&lt;c176720e&gt;] EFLAGS: 00010246 CPU: 0
EIP is at ulite_console_setup+0x6f/0xa8
EAX: c16ec824 EBX: c16ec824 ECX: c176719f EDX: 00000000
ESI: 00000000 EDI: c17b42c4 EBP: f6fd1cf0 ESP: f6fd1cd8
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process modprobe (pid: 151, ti=f6fd0000 task=f6fa1020 task.ti=f6fd0000)
Stack:
 c1031f51 00000000 00000000 00000246 c182237c f7742000 f6fd1d5c c11fd316
&lt;0&gt; c16ec85c f77420d4 0000001e 00000000 00000000 c1633e78 4f494d4d 63783020
&lt;0&gt; 30303038 00303031 f6fd1d3c c10e0786 f6fd1d48 00000000 f6fd1d48 00000000
Call Trace:
 [&lt;c1031f51&gt;] ? register_console+0xf6/0x1fc
 [&lt;c11fd316&gt;] ? uart_add_one_port+0x237/0x2bb
 [&lt;c10e0786&gt;] ? sysfs_add_one+0x13/0xd3
 [&lt;c10e142f&gt;] ? sysfs_do_create_link+0xba/0xfc
 [&lt;c146f200&gt;] ? ulite_probe+0x198/0x1eb
 [&lt;c12064ee&gt;] ? platform_drv_probe+0xc/0xe
 [&lt;c120597b&gt;] ? driver_probe_device+0x79/0x105
 [&lt;c1205a8e&gt;] ? __device_attach+0x28/0x30
 [&lt;c120511f&gt;] ? bus_for_each_drv+0x3d/0x67
 [&lt;c1205af9&gt;] ? device_attach+0x44/0x58
 [&lt;c1205a66&gt;] ? __device_attach+0x0/0x30
 [&lt;c1204fb8&gt;] ? bus_probe_device+0x1f/0x34
 [&lt;c1203e68&gt;] ? device_add+0x385/0x4c0
 [&lt;c148491f&gt;] ? _write_unlock+0x8/0x1f
 [&lt;c1206aac&gt;] ? platform_device_add+0xd9/0x11c
 [&lt;c120c685&gt;] ? mfd_add_devices+0x165/0x1bc
 [&lt;f831b378&gt;] ? puffin_probe+0x2d0/0x390 [puffin]
 [&lt;c11a08ef&gt;] ? pci_match_device+0xa0/0xa7
 [&lt;c11a07bc&gt;] ? local_pci_probe+0xe/0x10
 [&lt;c11a11db&gt;] ? pci_device_probe+0x43/0x66
 [&lt;c120597b&gt;] ? driver_probe_device+0x79/0x105
 [&lt;c1205a4a&gt;] ? __driver_attach+0x43/0x5f
 [&lt;c120535d&gt;] ? bus_for_each_dev+0x3d/0x67
 [&lt;c1205852&gt;] ? driver_attach+0x14/0x16
 [&lt;c1205a07&gt;] ? __driver_attach+0x0/0x5f
 [&lt;c1204dea&gt;] ? bus_add_driver+0xf9/0x220
 [&lt;c1205c8f&gt;] ? driver_register+0x8b/0xeb
 [&lt;c11a1518&gt;] ? __pci_register_driver+0x43/0x9f
 [&lt;c10477ef&gt;] ? __blocking_notifier_call_chain+0x40/0x4c
 [&lt;f831f000&gt;] ? puffin_init+0x0/0x48 [puffin]
 [&lt;f831f017&gt;] ? puffin_init+0x17/0x48 [puffin]
 [&lt;c1001139&gt;] ? do_one_initcall+0x4c/0x131
 [&lt;c105607b&gt;] ? sys_init_module+0xa7/0x1b7
 [&lt;c1002a61&gt;] ? syscall_call+0x7/0xb
 Code: 6e 74 00 00 00 92 33 00 00 18 00 0e 01 73 79 6e 63 65 2d 72 65 67 69 73 74 72 79 0c 00 49 32
00 00 14 00 09 01 61 6c 73 61 2d 69 &lt;6e&gt; 66 6f 00 00 00 42 37 00 00 10 00 07 01 6b 69 6c 6c 61 6c 6c
EIP: [&lt;c176720e&gt;] ulite_console_setup+0x6f/0xa8 SS:ESP 0068:f6fd1cd8
CR2: 0000000000000000

Signed-off-by: Richard Röjfors &lt;richard.rojfors@pelagicore.com&gt;
Acked-by: Peter Korsgaard &lt;jacmet@sunsite.dk&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: 8250_pnp: use wildcard for serial Wacom tablets</title>
<updated>2010-01-25T18:49:24Z</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2009-12-09T20:31:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=04f7ec720e5bc4413540ca5dedde8b9e5a30c401'/>
<id>urn:sha1:04f7ec720e5bc4413540ca5dedde8b9e5a30c401</id>
<content type='text'>
commit 6d34855d9aa281f72c533ecb827405139d1b0fe9 upstream.

Wacom claims that the WACF namespace will always be devoted to serial
Wacom tablets.  Remove the existing entries and add a wildcard to avoid
having to update the kernel every time they add a new device.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Tested-by: Ping Cheng &lt;pingc@wacom.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial/8250_pnp: add a new Fujitsu Wacom Tablet PC device</title>
<updated>2010-01-22T23:18:39Z</updated>
<author>
<name>Ping</name>
<email>pinglinux@gmail.com</email>
</author>
<published>2010-01-16T01:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fdc360e9cd88b119fa978cc812d1f0be69087f9a'/>
<id>urn:sha1:fdc360e9cd88b119fa978cc812d1f0be69087f9a</id>
<content type='text'>
commit 3018aa4b1a46946dfd0ee73a533038f24e390539 upstream.

This is a new two finger touch Fujitsu Wacom Tablet PC.

Signed-off-by: Ping Cheng &lt;pingc@wacom.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: Dmitry Torokhov &lt;dtor@mail.ru&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Serial: Do not read IIR in serial8250_start_tx when UART_BUG_TXEN</title>
<updated>2009-12-18T22:04:18Z</updated>
<author>
<name>Ian Jackson</name>
<email>ian.jackson@eu.citrix.com</email>
</author>
<published>2009-11-18T10:08:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a4b8b8eb2533da448fcaaef2467a1cc4489057b9'/>
<id>urn:sha1:a4b8b8eb2533da448fcaaef2467a1cc4489057b9</id>
<content type='text'>
commit 68cb4f8e246bbbc649980be0628cae9265870a91 upstream.

Do not read IIR in serial8250_start_tx when UART_BUG_TXEN

Reading the IIR clears some oustanding interrupts so it is not safe.
Instead, simply transmit immediately if the buffer is empty without
regard to IIR.

Signed-off-by: Ian Jackson &lt;ian.jackson@eu.citrix.com&gt;
Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Reviewed-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>tty/of_serial: add missing ns16550a id</title>
<updated>2009-12-01T00:38:44Z</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2009-11-24T10:22:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=16173c7c2d79da7eb89b41acfdebd74b130f4339'/>
<id>urn:sha1:16173c7c2d79da7eb89b41acfdebd74b130f4339</id>
<content type='text'>
Many boards have a bug-free ns16550 compatible serial port, which we should
register as PORT_16550A. This introduces a new value "ns16550a" for the
compatible property of of_serial to let a firmware choose that model instead
of using the crippled PORT_16550 mode.

Reported-by: Alon Ziv &lt;alonz@nolaviz.org&gt;
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
</feed>
