summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2015-05-10tty: tty_buffer.c: move assignment out of if () blockGreg Kroah-Hartman1-1/+2
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: synclinkmp.c: move assignment out of if () blockGreg Kroah-Hartman1-4/+8
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: synclink_gt.c: move assignment out of if () blockGreg Kroah-Hartman1-5/+10
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: synclink.c: move assignment out of if () blockGreg Kroah-Hartman1-5/+10
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: mpsc.c: move assignment out of if () blockGreg Kroah-Hartman1-9/+16
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: ioc4_serial.c: move assignment out of if () blockGreg Kroah-Hartman1-3/+6
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Pat Gefre <pfg@sgi.com> CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: ioc3_serial.c: move assignment out of if () blockGreg Kroah-Hartman1-1/+2
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Pat Gefre <pfg@sgi.com> CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: icom.c: move assignment out of if () blockGreg Kroah-Hartman1-5/+6
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: hvcs.c: move assignment out of if () blockGreg Kroah-Hartman1-2/+2
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> CC: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: hvc_console.c: move assignment out of if () blockGreg Kroah-Hartman1-1/+2
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> CC: Tomoki Sekiyama <tomoki.sekiyama@hds.com> CC: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: crisv10.c: move assignment out of if () blockGreg Kroah-Hartman1-4/+8
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Mikael Starvik <starvik@axis.com> CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
2015-05-10tty: consolemap.c: move assignment out of if () blockGreg Kroah-Hartman1-23/+37
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> CC: Takashi Iwai <tiwai@suse.de> CC: Imre Deak <imre.deak@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: amiserial.c: move assignment out of if () blockGreg Kroah-Hartman1-1/+2
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: 68328serial.c: move assignment out of if () blockGreg Kroah-Hartman1-1/+2
We should not be doing assignments within an if () block so fix up the code to not do this. change was created using Coccinelle. CC: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10serial: sirf: use uart_port's fifosize for fifo related operationQipan Li2-44/+33
In SiRF platform, there are different fifo size of uart and usp, with the fifosize configuration changes in different chips, we can not use port line to decide how to check FIFO full,empty and level. There is a direct mapping between FIFO HW register layout with fifo size, so move to use fifosize as the input to check fifo status. Signed-off-by: Qipan Li <Qipan.Li@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10serial: sirf: use dynamic method allocate uart structureQipan Li2-69/+23
In different platform of SiRF SoCs, there is no same uart and usp-uart numbers, it is not convenient to use hard-coded ports array and port lines. here we drop the hard-coded ports table , and drop "cell-index". then move to use alias id to get line. for example: aliases { serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; serial3 = &uart3; serial4 = &uart4; serial5 = &uart5; serial6 = &uart6; serial9 = &usp2; }; at the same, enlarge the max port number according to the chip with the most UART. Signed-off-by: Qipan Li <Qipan.Li@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: serial: 8250_mtk: Add earlyconEddie Huang1-0/+13
Add 8250 MTK UART driver to support earlycon device tree. Earlycon take effect by add "earlycon" in kernel boot argument add "linux,sdtout-path" property in device tree file Signed-off-by: Eddie Huang <eddie.huang@mediatek.com> Tested-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-10tty: serial: 8250: export early_serial8250_setup functionEddie Huang1-1/+1
8250-like uart driver may call early_serial8250_setup to reuse 8250_early.c character output function. Signed-off-by: Eddie Huang <eddie.huang@mediatek.com> Tested-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: serial: 8250_mtk: Add support for bus clockSascha Hauer1-4/+24
The mtk 8250 needs two clocks, one for providing the baudrate and one that needs to be enabled for register accesses. The latter has not been supported, this patch adds support for it. It is optional for now since not all SoCs provide a bus clock. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: serial: 8250_mtk: use pm_runtime callbacks for enablingSascha Hauer1-33/+36
The pm_runtime callbacks already enable and disable the device. Use them in probe() and remove() instead of duplicating the code. This allows us to concentrate more code for enabling/disabling the UART in a single place. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: serial: 8250_mtk: Use devm_clk_getSascha Hauer1-5/+2
When a struct device * is present clk_get should be used rather than of_clk_get. Use the devm variant of this function to be able to drop the clk_put in the error and remove pathes. While at it fix a wrong error message. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: serial: 8250_mtk: remove unnecessary testSascha Hauer1-8/+4
When the driver has probed successfully the clk pointer is always valid, so no need to test for it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06ARM: meson: serial: convert iounmap to devm_iounmapFiro Yang1-1/+1
The function meson_uart_release_port() inappropriately try to iounmap() a resource managed by devm_ioremap_nocache(). The function meson_uart_release_port() maybe called by uart_ioctl() that means meson_uart_release_port() is not called from within a probe or remove function, for safety, I convert iounmap() to devm_iounmap(). Signed-off-by: Firo Yang <firogm@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: serial: 8250: omap: synchronize rx_runningJohn Ogness1-16/+49
The rx_running flag should show if DMA is currently active. However there is a window between when the flag is set/cleared and when the DMA is started/stopped. Because the flag is queried from both hard and soft irq contexts, the driver can make incorrect decisions and do things like start a DMA transfer using a buffer that is already setup to be used for a DMA transfer. This patch adds a spinlock to synchronize the rx_running flag and close the above mentioned window. Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06dmaenegine: edma: allow pause/resume for non-cyclic modeJohn Ogness1-6/+1
The 8250_omap serial driver relies on dmaengine_pause() actually pausing the DMA transfer. Before this patch dmaengine_pause() is a NOP for non-cylic DMA transfers. This allowed the 8250_omap driver to read DMA buffers while the DMA was still active, resulting in lost serial data. Signed-off-by: John Ogness <john.ogness@linutronix.de> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: SERIAL_IFX6X60 should depend on HAS_DMAGeert Uytterhoeven1-1/+1
If NO_DMA=y: drivers/built-in.o: In function `ifx_spi_free_device': ifx6x60.c:(.text+0x96d9a): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `ifx_spi_spi_probe': ifx6x60.c:(.text+0x978a2): undefined reference to `dma_alloc_coherent' While DMA is optional in this driver, and is used only if ifx_modem_platform_data.use_dma is set, there are currently no in-tree users of ifx_modem_platform_data (and thus of this driver), so just make it depend on HAS_DMA. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: ifx6x60: Remove superfluous casts when calling request_irq()Geert Uytterhoeven1-7/+6
There's no need to cast the last parameter of {request,free}_irq() to "void *", as any pointer type is accepted. Remove the superfluous casts to fix this. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: ifx6x60: Remove dangerous spi_driver castsGeert Uytterhoeven1-3/+3
Casting spi_driver pointers to "void *" when calling spi_{,un}register_driver() bypasses all type checking. Remove the superfluous casts to fix this. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: sirf: move from clk_get to devm_clk_getQipan Li1-5/+2
Signed-off-by: Qipan Li <Qipan.Li@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06Revert "serial: sirf: add a new uart type support"Qipan Li2-31/+7
This reverts commit 52bec4ed4e("serial: sirf: add a new uart type support"). we misunderstood the clock dependency in atlas7. Actually involved several clocks are in a tree structure. we still only need to take the leaf clock node for BT uarts. Signed-off-by: Qipan Li <Qipan.Li@csr.com> Signed-off-by: Barry Song <Barry.Song@csr.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: 8250: remove Kconfig indirectionValentin Rothberg1-8/+0
Remove CONFIG_SERIAL_DETECT_IRQ and CONFIG_SERIAL_MANY_PORTS, and substitute all references to the proper 8250 Kconfig options. Now, the actual Kconfig dependencies are not hidden when reading the code and static analyzers are less confused. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/mcf.c: fix typo on SERIAL_MCF_CONSOLEValentin Rothberg1-1/+1
Correct reference in C-comment after #endif. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: bfin: ctsrts: enfore Kconfig naming conventionValentin Rothberg1-12/+12
The CONFIG_ prefix is reserved for Kconfig options in Make and CPP syntax; static analysis tools rely on this convention. This patch enforces this behavior for SERIAL_BFIN_{HARD_}CTSRTS. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Acked-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/mpc52xx_uart.c: fix typo in C commentValentin Rothberg1-1/+1
Fix reference on PPC_MPC52xx in C comment after #endif. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/8250/8250_core.c: remove CONFIG_HUB6Valentin Rothberg1-5/+0
This file local CPP identifier is not referenced anywhere else, so we can safely remove it. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty/serial: at91: handle IRQ status more safelyLeilei Zhao1-6/+7
Handle the changed flag of IRQ status in interruption instead of handling it in tasklet due to the tasklet may be scheduled more than once in one interruption. Otherwise, the changed status may be processed more than once which will lead to unexpected result. And seriously, kernel will crash. Signed-off-by: Leilei Zhao <leilei.zhao@atmel.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/crisv10.c: rename CPP identifier ↵Valentin Rothberg1-4/+4
CONFIG_ETRAX_SERX_DTR_RI_DSR_CD_MIXED The 'CONFIG_' prefix is reserved for Kconfig options in Make and CPP syntax only. Remove this prefix from the self-defined CPP identifier to apply to this convention and make static analysis tools happy. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/crisv10.c: remove dead #ifdef blocksValentin Rothberg1-29/+0
ETRAX_SERIAL_PROC_ENTRY is not defined in Kconfig. The affected #ifdef block has not been compiled for years, and the embedded macro, PROCSTAT, ended up as a NOOP. Hence, remove the block and all calls to PROCSTAT. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/crisv10.c: remove dead #ifdef blocksValentin Rothberg1-36/+0
ETRAX_RS485_{ON_PORT_G, LTC1387} are not defined in Kconfig. The affected #ifdef block have not been compiled for years, so remove them entirely. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/crisv10.c: remove dead #ifdef blockValentin Rothberg1-13/+0
ETRAX_EXTERN_PB6CLK_ENABLED is not defined in Kconfig. The affected #ifdef block has not been compiled for years, so remove it entirely. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial: altera: fix typos in #endif commentsValentin Rothberg2-2/+2
Correct reference on CONFIG_SERIAL_ALTERA_{JTAG}UART_CONSOLE in C-comment after #endif. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06drivers/tty/serial/sh-sci.h: remove dead reference on ARCH_SH7372Valentin Rothberg1-1/+0
The Kconfig option ARCH_SH7372 has been removed by commit 59b89af1d555 ("ARM: shmobile: sh7372: Remove Legacy C SoC code"). This patch removes the last reference on this Kconfig option. Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: kgdb_nmi: Use bool function return values of true/false not 1/0Joe Perches1-3/+3
Use the normal return values for bool functions Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: remove buf parameter from tty_name()Rasmus Villemoes10-56/+27
tty_name no longer uses the buf parameter, so remove it along with all the 64 byte stack buffers that used to be passed in. Mostly generated by the coccinelle script @depends on patch@ identifier buf; constant C; expression tty; @@ - char buf[C]; <+... - tty_name(tty, buf) + tty_name(tty) ...+> allmodconfig compiles, so I'm fairly confident the stack buffers weren't used for other purposes as well. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: return tty->name directly from tty_nameRasmus Villemoes1-5/+3
All users of tty_name pass the return value (the provided buffer) to some printf-like function. We can thus avoid the strcpy and, more importantly, later remove the buf parameter completely, eliminating the need for some 64 byte stack buffers. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06tty: constify return type of tty_nameRasmus Villemoes1-1/+1
All users of tty_name pass the result directly to a printf-like function. This means we can actually let tty_name return the literal "NULL tty" or tty->name directly, avoiding the strcpy and a lot of medium-sized stack buffers. In preparation for that, make the return type const char*. While at it, we can also constify the tty parameter. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: imx: Remove return value from imx_setup_ufcr()Fabio Estevam1-2/+1
The return value from imx_setup_ufcr() is always 0 and its value is never checked, so better to remove the return value. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial: imx: protect Soft Reset of port with lockJiada Wang1-7/+6
Previously Soft Reset (clear of SRST bit in UCR2 register) of UART in startup is not protected by lock, which may have race with console_write, as console_write may occur at anytime even when UART port is shutdown. To avoid this race, protect Soft reset of UART port with spin_lock. Signed-off-by: Jiada Wang <jiada_wang@mentor.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06serial/amba-pl011: Refactor and simplify TX FIFO handlingDave Martin1-93/+26
Commit 734745c serial/amba-pl011: Activate TX IRQ passively adds some complexity and overhead in the form of a softirq mechanism for transmitting in the absence of interrupts. This patch simplifies the code flow to reduce the reliance on subtle behaviour and avoid fragility under future maintenance. To this end, the TX softirq mechanism is removed and instead pl011_start_tx() will now simply stuff the FIFO until full (guaranteeing future TX IRQs), or until there are no more chars to write (in which case we don't care whether an IRQ happens). Signed-off-by: Dave Martin <Dave.Martin@arm.com> Signed-off-by: Jakub Kicinski <kubakici@wp.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-05-06Revert "serial/amba-pl011: Leave the TX IRQ alone when the UART is not open"Dave Martin1-1/+4
This reverts commit f2ee6dfa0e8597eea8b98d240b0033994e20d215. Jakub Kiciński observed that this patch can cause the pl011 driver to hang if if the only process with a pl011 port open is killed by a signal, pl011_shutdown() can get called with an arbitrary amount of data still in the FIFO. Calling _shutdown() with the TX FIFO non-empty is questionable behaviour and my itself be a bug. Since the affected patch was speculative anyway, and brings limited benefit, the simplest course is to remove the assumption that TXIS will always be left asserted after the port is shut down. Signed-off-by: Dave Martin <Dave.Martin@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>