diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-07-17 17:08:31 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-17 09:16:39 -0700 |
commit | fde8be29239bf4a4118d918df1b2b8ef7266b1a2 (patch) | |
tree | cef130bf413458dd2ffb750d451d701965225543 | |
parent | 36b3c070d2346c890d690d71f6eab02f8c511137 (diff) | |
download | linux-3.10-fde8be29239bf4a4118d918df1b2b8ef7266b1a2.tar.gz linux-3.10-fde8be29239bf4a4118d918df1b2b8ef7266b1a2.tar.bz2 linux-3.10-fde8be29239bf4a4118d918df1b2b8ef7266b1a2.zip |
tty: of_serial: add no-loopback-test property
The loopback test mode is not implemented in all
NS16550 compatible UARTs. The 8250 driver uses the
UPF_SKIP_TEST flag to indicate this, however it is
not possible to set this flag via device-tree.
Add a new 'no-loopback-test' property, and modify
the of_serial driver to set the UPF_SKIP_TEST flag
if the property is present.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | Documentation/devicetree/bindings/tty/serial/of-serial.txt | 2 | ||||
-rw-r--r-- | drivers/tty/serial/of_serial.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt index 0847fdeee11..ba385f2e0dd 100644 --- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt +++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt @@ -25,6 +25,8 @@ Optional properties: accesses to the UART (e.g. TI davinci). - used-by-rtas : set to indicate that the port is in use by the OpenFirmware RTAS and should not be registered. +- no-loopback-test: set to indicate that the port does not implements loopback + test mode Example: diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c index ffc7879e85a..df443b908ca 100644 --- a/drivers/tty/serial/of_serial.c +++ b/drivers/tty/serial/of_serial.c @@ -105,6 +105,10 @@ static int __devinit of_platform_serial_setup(struct platform_device *ofdev, port->uartclk = clk; port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP | UPF_FIXED_PORT | UPF_FIXED_TYPE; + + if (of_find_property(np, "no-loopback-test", NULL)) + port->flags |= UPF_SKIP_TEST; + port->dev = &ofdev->dev; if (type == PORT_TEGRA) |