<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/tty/serial/pxa.c, branch v4.10</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>serial: pxa2xx: remove __deprecated annotation</title>
<updated>2016-11-10T13:50:45+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2016-11-08T14:50:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9de4153dbb2416817d341f57e7b194df5111f075'/>
<id>9de4153dbb2416817d341f57e7b194df5111f075</id>
<content type='text'>
An otherwise very nice cleanup of the pxa2xx uart support marked the
init function of this driver as __deprecated:

drivers/tty/serial/pxa.c:944:1: error: 'serial_pxa_init' is deprecated [-Werror=deprecated-declarations]

This seems unhelpful to me, as we now warn for every allmodconfig build,
which is otherwise free of warnings on most architectures. Let's
remove the annotation again.

Fixes: ab28f51c77cd ("serial: rewrite pxa2xx-uart to use 8250_core")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&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>
An otherwise very nice cleanup of the pxa2xx uart support marked the
init function of this driver as __deprecated:

drivers/tty/serial/pxa.c:944:1: error: 'serial_pxa_init' is deprecated [-Werror=deprecated-declarations]

This seems unhelpful to me, as we now warn for every allmodconfig build,
which is otherwise free of warnings on most architectures. Let's
remove the annotation again.

Fixes: ab28f51c77cd ("serial: rewrite pxa2xx-uart to use 8250_core")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: rewrite pxa2xx-uart to use 8250_core</title>
<updated>2016-10-27T14:03:09+00:00</updated>
<author>
<name>Sergey Yanovich</name>
<email>ynvich@gmail.com</email>
</author>
<published>2016-09-27T16:23:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ab28f51c77cd46189aa5726c98d5153052567a3c'/>
<id>ab28f51c77cd46189aa5726c98d5153052567a3c</id>
<content type='text'>
pxa2xx-uart was a separate uart platform driver. It was declaring
the same device names and numbers as 8250 driver. As a result,
it was impossible to use 8250 driver on PXA SoCs.

Upon closer examination pxa2xx-uart turned out to be a clone of
8250_core driver.

Workaround for Erratum #19 according to Marvel(R) PXA270M Processor
Specification Update (April 19, 2010) is dropped. 8250_core reads
from FIFO immediately after checking DR bit in LSR.

The patch leaves the original SERIAL_PXA driver around. The original
driver is just marked DEPRECATED in Kconfig and C source. When
the original driver is considered safe to remove, no changes
to SERIAL_8250 will be necessary.

Compiling SERIAL_8250_CONSOLE and SERIAL_PXA_CONSOLE even without
SERIAL_8250_PXA breaks console for SERIAL_PXA. For this reasons, the new
and the original drivers are made mutually exclusive.

Signed-off-by: Sergei Ianovich &lt;ynvich@gmail.com&gt;
CC: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
CC: James Cameron &lt;quozl@laptop.org&gt;
CC: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
CC: Russell King &lt;linux@arm.linux.org.uk&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
[rebased on v4.8]
Tested-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&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>
pxa2xx-uart was a separate uart platform driver. It was declaring
the same device names and numbers as 8250 driver. As a result,
it was impossible to use 8250 driver on PXA SoCs.

Upon closer examination pxa2xx-uart turned out to be a clone of
8250_core driver.

Workaround for Erratum #19 according to Marvel(R) PXA270M Processor
Specification Update (April 19, 2010) is dropped. 8250_core reads
from FIFO immediately after checking DR bit in LSR.

The patch leaves the original SERIAL_PXA driver around. The original
driver is just marked DEPRECATED in Kconfig and C source. When
the original driver is considered safe to remove, no changes
to SERIAL_8250 will be necessary.

Compiling SERIAL_8250_CONSOLE and SERIAL_PXA_CONSOLE even without
SERIAL_8250_PXA breaks console for SERIAL_PXA. For this reasons, the new
and the original drivers are made mutually exclusive.

Signed-off-by: Sergei Ianovich &lt;ynvich@gmail.com&gt;
CC: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
CC: James Cameron &lt;quozl@laptop.org&gt;
CC: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
CC: Russell King &lt;linux@arm.linux.org.uk&gt;
Reviewed-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
[rebased on v4.8]
Tested-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: pxa: make it explicitly non-modular</title>
<updated>2016-06-25T21:00:06+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2016-06-20T22:55:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ca16c5a300c33fd9d0cda48ef08166f32b35a56d'/>
<id>ca16c5a300c33fd9d0cda48ef08166f32b35a56d</id>
<content type='text'>
The Kconfig currently controlling compilation of this code is:

drivers/tty/serial/Kconfig:config SERIAL_PXA
drivers/tty/serial/Kconfig:     bool "PXA serial port support"

...meaning that it currently is not being built as a module by anyone.

Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.

We explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_init translates to device_initcall in the non-modular
case, the init ordering remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE and MODULE_ALIAS are both a
no-op for non-modular builds.

We also delete the MODULE_LICENSE tag since that information is
already contained at the top of the file in the comments.

Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Jiri Slaby &lt;jslaby@suse.com&gt;
Cc: linux-serial@vger.kernel.org
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.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>
The Kconfig currently controlling compilation of this code is:

drivers/tty/serial/Kconfig:config SERIAL_PXA
drivers/tty/serial/Kconfig:     bool "PXA serial port support"

...meaning that it currently is not being built as a module by anyone.

Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.

We explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_init translates to device_initcall in the non-modular
case, the init ordering remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE and MODULE_ALIAS are both a
no-op for non-modular builds.

We also delete the MODULE_LICENSE tag since that information is
already contained at the top of the file in the comments.

Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Jiri Slaby &lt;jslaby@suse.com&gt;
Cc: linux-serial@vger.kernel.org
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial/pxa: Deinline wait_for_xmitr, save 165 bytes</title>
<updated>2015-12-14T03:59:48+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2015-10-27T17:46:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=be9ae5d9f7d771879dc93766e5cf8d923aed0e1e'/>
<id>be9ae5d9f7d771879dc93766e5cf8d923aed0e1e</id>
<content type='text'>
This function compiles to 141 bytes of machine code.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Jiri Slaby &lt;jslaby@suse.com&gt;
CC: linux-serial@vger.kernel.org
Reviewed-by: Peter Hurley &lt;peter@hurleysoftware.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>
This function compiles to 141 bytes of machine code.

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Jiri Slaby &lt;jslaby@suse.com&gt;
CC: linux-serial@vger.kernel.org
Reviewed-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tty: constify of_device_id array</title>
<updated>2015-03-26T21:49:10+00:00</updated>
<author>
<name>Fabian Frederick</name>
<email>fabf@skynet.be</email>
</author>
<published>2015-03-16T19:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ed0bb2323c9321b91dfa0ea8317fdc4d9592dce4'/>
<id>ed0bb2323c9321b91dfa0ea8317fdc4d9592dce4</id>
<content type='text'>
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Acked-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
Acked-by: Timur Tabi &lt;timur@tabi.org&gt;
Acked-by: Patrice Chotard &lt;patrice.chotard@st.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>
of_device_id is always used as const.
(See driver.of_match_table and open firmware functions)

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Acked-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
Acked-by: Timur Tabi &lt;timur@tabi.org&gt;
Acked-by: Patrice Chotard &lt;patrice.chotard@st.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core</title>
<updated>2014-12-15T00:10:09+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-12-15T00:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e6b5be2be4e30037eb551e0ed09dd97bd00d85d3'/>
<id>e6b5be2be4e30037eb551e0ed09dd97bd00d85d3</id>
<content type='text'>
Pull driver core update from Greg KH:
 "Here's the set of driver core patches for 3.19-rc1.

  They are dominated by the removal of the .owner field in platform
  drivers.  They touch a lot of files, but they are "simple" changes,
  just removing a line in a structure.

  Other than that, a few minor driver core and debugfs changes.  There
  are some ath9k patches coming in through this tree that have been
  acked by the wireless maintainers as they relied on the debugfs
  changes.

  Everything has been in linux-next for a while"

* tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
  Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
  fs: debugfs: add forward declaration for struct device type
  firmware class: Deletion of an unnecessary check before the function call "vunmap"
  firmware loader: fix hung task warning dump
  devcoredump: provide a one-way disable function
  device: Add dev_&lt;level&gt;_once variants
  ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
  ath: use seq_file api for ath9k debugfs files
  debugfs: add helper function to create device related seq_file
  drivers/base: cacheinfo: remove noisy error boot message
  Revert "core: platform: add warning if driver has no owner"
  drivers: base: support cpu cache information interface to userspace via sysfs
  drivers: base: add cpu_device_create to support per-cpu devices
  topology: replace custom attribute macros with standard DEVICE_ATTR*
  cpumask: factor out show_cpumap into separate helper function
  driver core: Fix unbalanced device reference in drivers_probe
  driver core: fix race with userland in device_add()
  sysfs/kernfs: make read requests on pre-alloc files use the buffer.
  sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
  fs: sysfs: return EGBIG on write if offset is larger than file size
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull driver core update from Greg KH:
 "Here's the set of driver core patches for 3.19-rc1.

  They are dominated by the removal of the .owner field in platform
  drivers.  They touch a lot of files, but they are "simple" changes,
  just removing a line in a structure.

  Other than that, a few minor driver core and debugfs changes.  There
  are some ath9k patches coming in through this tree that have been
  acked by the wireless maintainers as they relied on the debugfs
  changes.

  Everything has been in linux-next for a while"

* tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
  Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
  fs: debugfs: add forward declaration for struct device type
  firmware class: Deletion of an unnecessary check before the function call "vunmap"
  firmware loader: fix hung task warning dump
  devcoredump: provide a one-way disable function
  device: Add dev_&lt;level&gt;_once variants
  ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
  ath: use seq_file api for ath9k debugfs files
  debugfs: add helper function to create device related seq_file
  drivers/base: cacheinfo: remove noisy error boot message
  Revert "core: platform: add warning if driver has no owner"
  drivers: base: support cpu cache information interface to userspace via sysfs
  drivers: base: add cpu_device_create to support per-cpu devices
  topology: replace custom attribute macros with standard DEVICE_ATTR*
  cpumask: factor out show_cpumap into separate helper function
  driver core: Fix unbalanced device reference in drivers_probe
  driver core: fix race with userland in device_add()
  sysfs/kernfs: make read requests on pre-alloc files use the buffer.
  sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
  fs: sysfs: return EGBIG on write if offset is larger than file size
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: pxa: hold port.lock when reporting modem line changes</title>
<updated>2014-11-27T03:35:49+00:00</updated>
<author>
<name>Dmitry Eremin-Solenikov</name>
<email>dbaryshkov@gmail.com</email>
</author>
<published>2014-11-26T09:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=50d1e7d1077b276e8faa9eebf8b710edf31fdeea'/>
<id>50d1e7d1077b276e8faa9eebf8b710edf31fdeea</id>
<content type='text'>
Both uart_handle_dcd_change() and uart_handle_cts_change() require a
port lock to be held and will emit a warning when lockdep is enabled.
Held corresponding lock.

This fixes the following warnings:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/tty/serial/serial_core.c:2760 uart_handle_dcd_change+0xc8/0xf8()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.18.0-rc5+ #26
[&lt;c000dff8&gt;] (unwind_backtrace) from [&lt;c000bc70&gt;] (show_stack+0x10/0x14)
[&lt;c000bc70&gt;] (show_stack) from [&lt;c00192ac&gt;] (warn_slowpath_common+0x6c/0x8c)
[&lt;c00192ac&gt;] (warn_slowpath_common) from [&lt;c00192e8&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c00192e8&gt;] (warn_slowpath_null) from [&lt;c0182984&gt;] (uart_handle_dcd_change+0xc8/0xf8)
[&lt;c0182984&gt;] (uart_handle_dcd_change) from [&lt;c018625c&gt;] (serial_pxa_irq+0x268/0x3b0)
[&lt;c018625c&gt;] (serial_pxa_irq) from [&lt;c004d0d4&gt;] (handle_irq_event_percpu+0x50/0x16c)
[&lt;c004d0d4&gt;] (handle_irq_event_percpu) from [&lt;c004d22c&gt;] (handle_irq_event+0x3c/0x5c)
[&lt;c004d22c&gt;] (handle_irq_event) from [&lt;c004f7d0&gt;] (handle_level_irq+0x94/0x118)
[&lt;c004f7d0&gt;] (handle_level_irq) from [&lt;c004ca0c&gt;] (generic_handle_irq+0x20/0x30)
[&lt;c004ca0c&gt;] (generic_handle_irq) from [&lt;c004cbe0&gt;] (__handle_domain_irq+0x38/0x70)
[&lt;c004cbe0&gt;] (__handle_domain_irq) from [&lt;c00085c4&gt;] (ichp_handle_irq+0x24/0x34)
[&lt;c00085c4&gt;] (ichp_handle_irq) from [&lt;c000c7e4&gt;] (__irq_svc+0x44/0x54)
Exception stack(0xc07c7f58 to 0xc07c7fa0)
7f40:                                                       00000001 00000001
7f60: 00000000 20000013 c07c6000 00000000 00000000 c07ce0a4 c07d7798 00000000
7f80: c07e8fb8 0000004c 00000000 c07c7fa0 c0044798 c0009f20 20000013 ffffffff
[&lt;c000c7e4&gt;] (__irq_svc) from [&lt;c0009f20&gt;] (arch_cpu_idle+0x28/0x38)
[&lt;c0009f20&gt;] (arch_cpu_idle) from [&lt;c003c974&gt;] (cpu_startup_entry+0x1b8/0x220)
[&lt;c003c974&gt;] (cpu_startup_entry) from [&lt;c0338c54&gt;] (start_kernel+0x39c/0x40c)
---[ end trace 4c1b7ae03f6d9d30 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/tty/serial/serial_core.c:2791 uart_handle_cts_change+0xa0/0xdc()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Tainted: G        W      3.18.0-rc5+ #26
[&lt;c000dff8&gt;] (unwind_backtrace) from [&lt;c000bc70&gt;] (show_stack+0x10/0x14)
[&lt;c000bc70&gt;] (show_stack) from [&lt;c00192ac&gt;] (warn_slowpath_common+0x6c/0x8c)
[&lt;c00192ac&gt;] (warn_slowpath_common) from [&lt;c00192e8&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c00192e8&gt;] (warn_slowpath_null) from [&lt;c018528c&gt;] (uart_handle_cts_change+0xa0/0xdc)
[&lt;c018528c&gt;] (uart_handle_cts_change) from [&lt;c018624c&gt;] (serial_pxa_irq+0x258/0x3b0)
[&lt;c018624c&gt;] (serial_pxa_irq) from [&lt;c004d0d4&gt;] (handle_irq_event_percpu+0x50/0x16c)
[&lt;c004d0d4&gt;] (handle_irq_event_percpu) from [&lt;c004d22c&gt;] (handle_irq_event+0x3c/0x5c)
[&lt;c004d22c&gt;] (handle_irq_event) from [&lt;c004f7d0&gt;] (handle_level_irq+0x94/0x118)
[&lt;c004f7d0&gt;] (handle_level_irq) from [&lt;c004ca0c&gt;] (generic_handle_irq+0x20/0x30)
[&lt;c004ca0c&gt;] (generic_handle_irq) from [&lt;c004cbe0&gt;] (__handle_domain_irq+0x38/0x70)
[&lt;c004cbe0&gt;] (__handle_domain_irq) from [&lt;c00085c4&gt;] (ichp_handle_irq+0x24/0x34)
[&lt;c00085c4&gt;] (ichp_handle_irq) from [&lt;c000c7e4&gt;] (__irq_svc+0x44/0x54)
Exception stack(0xc07c7f58 to 0xc07c7fa0)
7f40:                                                       00000001 00000001
7f60: 00000000 20000013 c07c6000 00000000 00000000 c07ce0a4 c07d7798 00000000
7f80: c07e8fb8 0000004c 00000000 c07c7fa0 c0044798 c0009f20 20000013 ffffffff
[&lt;c000c7e4&gt;] (__irq_svc) from [&lt;c0009f20&gt;] (arch_cpu_idle+0x28/0x38)
[&lt;c0009f20&gt;] (arch_cpu_idle) from [&lt;c003c974&gt;] (cpu_startup_entry+0x1b8/0x220)
[&lt;c003c974&gt;] (cpu_startup_entry) from [&lt;c0338c54&gt;] (start_kernel+0x39c/0x40c)
---[ end trace 4c1b7ae03f6d9d31 ]---

Signed-off-by: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Acked-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&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>
Both uart_handle_dcd_change() and uart_handle_cts_change() require a
port lock to be held and will emit a warning when lockdep is enabled.
Held corresponding lock.

This fixes the following warnings:

------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/tty/serial/serial_core.c:2760 uart_handle_dcd_change+0xc8/0xf8()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.18.0-rc5+ #26
[&lt;c000dff8&gt;] (unwind_backtrace) from [&lt;c000bc70&gt;] (show_stack+0x10/0x14)
[&lt;c000bc70&gt;] (show_stack) from [&lt;c00192ac&gt;] (warn_slowpath_common+0x6c/0x8c)
[&lt;c00192ac&gt;] (warn_slowpath_common) from [&lt;c00192e8&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c00192e8&gt;] (warn_slowpath_null) from [&lt;c0182984&gt;] (uart_handle_dcd_change+0xc8/0xf8)
[&lt;c0182984&gt;] (uart_handle_dcd_change) from [&lt;c018625c&gt;] (serial_pxa_irq+0x268/0x3b0)
[&lt;c018625c&gt;] (serial_pxa_irq) from [&lt;c004d0d4&gt;] (handle_irq_event_percpu+0x50/0x16c)
[&lt;c004d0d4&gt;] (handle_irq_event_percpu) from [&lt;c004d22c&gt;] (handle_irq_event+0x3c/0x5c)
[&lt;c004d22c&gt;] (handle_irq_event) from [&lt;c004f7d0&gt;] (handle_level_irq+0x94/0x118)
[&lt;c004f7d0&gt;] (handle_level_irq) from [&lt;c004ca0c&gt;] (generic_handle_irq+0x20/0x30)
[&lt;c004ca0c&gt;] (generic_handle_irq) from [&lt;c004cbe0&gt;] (__handle_domain_irq+0x38/0x70)
[&lt;c004cbe0&gt;] (__handle_domain_irq) from [&lt;c00085c4&gt;] (ichp_handle_irq+0x24/0x34)
[&lt;c00085c4&gt;] (ichp_handle_irq) from [&lt;c000c7e4&gt;] (__irq_svc+0x44/0x54)
Exception stack(0xc07c7f58 to 0xc07c7fa0)
7f40:                                                       00000001 00000001
7f60: 00000000 20000013 c07c6000 00000000 00000000 c07ce0a4 c07d7798 00000000
7f80: c07e8fb8 0000004c 00000000 c07c7fa0 c0044798 c0009f20 20000013 ffffffff
[&lt;c000c7e4&gt;] (__irq_svc) from [&lt;c0009f20&gt;] (arch_cpu_idle+0x28/0x38)
[&lt;c0009f20&gt;] (arch_cpu_idle) from [&lt;c003c974&gt;] (cpu_startup_entry+0x1b8/0x220)
[&lt;c003c974&gt;] (cpu_startup_entry) from [&lt;c0338c54&gt;] (start_kernel+0x39c/0x40c)
---[ end trace 4c1b7ae03f6d9d30 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at drivers/tty/serial/serial_core.c:2791 uart_handle_cts_change+0xa0/0xdc()
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Tainted: G        W      3.18.0-rc5+ #26
[&lt;c000dff8&gt;] (unwind_backtrace) from [&lt;c000bc70&gt;] (show_stack+0x10/0x14)
[&lt;c000bc70&gt;] (show_stack) from [&lt;c00192ac&gt;] (warn_slowpath_common+0x6c/0x8c)
[&lt;c00192ac&gt;] (warn_slowpath_common) from [&lt;c00192e8&gt;] (warn_slowpath_null+0x1c/0x24)
[&lt;c00192e8&gt;] (warn_slowpath_null) from [&lt;c018528c&gt;] (uart_handle_cts_change+0xa0/0xdc)
[&lt;c018528c&gt;] (uart_handle_cts_change) from [&lt;c018624c&gt;] (serial_pxa_irq+0x258/0x3b0)
[&lt;c018624c&gt;] (serial_pxa_irq) from [&lt;c004d0d4&gt;] (handle_irq_event_percpu+0x50/0x16c)
[&lt;c004d0d4&gt;] (handle_irq_event_percpu) from [&lt;c004d22c&gt;] (handle_irq_event+0x3c/0x5c)
[&lt;c004d22c&gt;] (handle_irq_event) from [&lt;c004f7d0&gt;] (handle_level_irq+0x94/0x118)
[&lt;c004f7d0&gt;] (handle_level_irq) from [&lt;c004ca0c&gt;] (generic_handle_irq+0x20/0x30)
[&lt;c004ca0c&gt;] (generic_handle_irq) from [&lt;c004cbe0&gt;] (__handle_domain_irq+0x38/0x70)
[&lt;c004cbe0&gt;] (__handle_domain_irq) from [&lt;c00085c4&gt;] (ichp_handle_irq+0x24/0x34)
[&lt;c00085c4&gt;] (ichp_handle_irq) from [&lt;c000c7e4&gt;] (__irq_svc+0x44/0x54)
Exception stack(0xc07c7f58 to 0xc07c7fa0)
7f40:                                                       00000001 00000001
7f60: 00000000 20000013 c07c6000 00000000 00000000 c07ce0a4 c07d7798 00000000
7f80: c07e8fb8 0000004c 00000000 c07c7fa0 c0044798 c0009f20 20000013 ffffffff
[&lt;c000c7e4&gt;] (__irq_svc) from [&lt;c0009f20&gt;] (arch_cpu_idle+0x28/0x38)
[&lt;c0009f20&gt;] (arch_cpu_idle) from [&lt;c003c974&gt;] (cpu_startup_entry+0x1b8/0x220)
[&lt;c003c974&gt;] (cpu_startup_entry) from [&lt;c0338c54&gt;] (start_kernel+0x39c/0x40c)
---[ end trace 4c1b7ae03f6d9d31 ]---

Signed-off-by: Dmitry Eremin-Solenikov &lt;dbaryshkov@gmail.com&gt;
Acked-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tty: serial: drop owner assignment from platform_drivers</title>
<updated>2014-10-20T14:21:45+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa@the-dreams.de</email>
</author>
<published>2014-10-20T14:21:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9144b3cded04a05d4b4e18dc9dcfb5b8ada3f2fc'/>
<id>9144b3cded04a05d4b4e18dc9dcfb5b8ada3f2fc</id>
<content type='text'>
A platform_driver does not need to set an owner, it will be populated by the
driver core.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A platform_driver does not need to set an owner, it will be populated by the
driver core.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: pxa: fix build with !SERIAL_PXA_CONSOLE</title>
<updated>2014-07-10T22:48:41+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2014-02-18T15:14:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2ee881b74e1fa96bfe0c7d2be11f6de69bc145e9'/>
<id>2ee881b74e1fa96bfe0c7d2be11f6de69bc145e9</id>
<content type='text'>
When CONFIG_SERIAL_PXA_CONSOLE is disabled, the serial_pxa_get_poll_char
and serial_pxa_put_poll_char functions are not defined, and we can't
reference them.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&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>
When CONFIG_SERIAL_PXA_CONSOLE is disabled, the serial_pxa_get_poll_char
and serial_pxa_put_poll_char functions are not defined, and we can't
reference them.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>serial: Fix IGNBRK handling</title>
<updated>2014-06-19T20:04:52+00:00</updated>
<author>
<name>Peter Hurley</name>
<email>peter@hurleysoftware.com</email>
</author>
<published>2014-06-16T12:10:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ef8b9ddcb45fa3b1e11acd72be2398001e807d14'/>
<id>ef8b9ddcb45fa3b1e11acd72be2398001e807d14</id>
<content type='text'>
If IGNBRK is set without either BRKINT or PARMRK set, some uart
drivers send a 0x00 byte for BREAK without the TTYBREAK flag to the
line discipline, when it should send either nothing or the TTYBREAK flag
set. This happens because the read_status_mask masks out the BI
condition, which uart_insert_char() then interprets as a normal 0x00 byte.

SUS v3 is clear regarding the meaning of IGNBRK; Section 11.2.2, General
Terminal Interface - Input Modes, states:
  "If IGNBRK is set, a break condition detected on input shall be ignored;
   that is, not put on the input queue and therefore not read by any
   process."

Fix read_status_mask to include the BI bit if IGNBRK is set; the
lsr status retains the BI bit if a BREAK is recv'd, which is
subsequently ignored in uart_insert_char() when masked with the
ignore_status_mask.

Affected drivers:
8250 - all
serial_txx9
mfd
amba-pl010
amba-pl011
atmel_serial
bfin_uart
dz
ip22zilog
max310x
mxs-auart
netx-serial
pnx8xxx_uart
pxa
sb1250-duart
sccnxp
serial_ks8695
sirfsoc_uart
st-asc
vr41xx_siu
zs
sunzilog
fsl_lpuart
sunsab
ucc_uart
bcm63xx_uart
sunsu
efm32-uart
pmac_zilog
mpsc
msm_serial
m32r_sio

Unaffected drivers:
omap-serial
rp2
sa1100
imx
icom

Annotated for fixes:
altera_uart
mcf

Drivers without break detection:
21285
xilinx-uartps
altera_jtaguart
apbuart
arc-uart
clps711x
max3100
uartlite
msm_serial_hs
nwpserial
lantiq
vt8500_serial

Unknown:
samsung
mpc52xx_uart
bfin_sport_uart
cpm_uart/core

Fixes: Bugzilla #71651, '8250_core.c incorrectly handles IGNBRK flag'
Reported-by: Ivan &lt;athlon_@mail.ru&gt;
Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.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>
If IGNBRK is set without either BRKINT or PARMRK set, some uart
drivers send a 0x00 byte for BREAK without the TTYBREAK flag to the
line discipline, when it should send either nothing or the TTYBREAK flag
set. This happens because the read_status_mask masks out the BI
condition, which uart_insert_char() then interprets as a normal 0x00 byte.

SUS v3 is clear regarding the meaning of IGNBRK; Section 11.2.2, General
Terminal Interface - Input Modes, states:
  "If IGNBRK is set, a break condition detected on input shall be ignored;
   that is, not put on the input queue and therefore not read by any
   process."

Fix read_status_mask to include the BI bit if IGNBRK is set; the
lsr status retains the BI bit if a BREAK is recv'd, which is
subsequently ignored in uart_insert_char() when masked with the
ignore_status_mask.

Affected drivers:
8250 - all
serial_txx9
mfd
amba-pl010
amba-pl011
atmel_serial
bfin_uart
dz
ip22zilog
max310x
mxs-auart
netx-serial
pnx8xxx_uart
pxa
sb1250-duart
sccnxp
serial_ks8695
sirfsoc_uart
st-asc
vr41xx_siu
zs
sunzilog
fsl_lpuart
sunsab
ucc_uart
bcm63xx_uart
sunsu
efm32-uart
pmac_zilog
mpsc
msm_serial
m32r_sio

Unaffected drivers:
omap-serial
rp2
sa1100
imx
icom

Annotated for fixes:
altera_uart
mcf

Drivers without break detection:
21285
xilinx-uartps
altera_jtaguart
apbuart
arc-uart
clps711x
max3100
uartlite
msm_serial_hs
nwpserial
lantiq
vt8500_serial

Unknown:
samsung
mpc52xx_uart
bfin_sport_uart
cpm_uart/core

Fixes: Bugzilla #71651, '8250_core.c incorrectly handles IGNBRK flag'
Reported-by: Ivan &lt;athlon_@mail.ru&gt;
Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
