17 Oct, 2013
1 commit
-
This deletes the .set_wake() callback in the struct uart_ops.
Apparently this has been unused since pre-git times. In the
old-2.6-bkcvs it is deleted as part of a changeset removing
the PM_SET_WAKEUP from pm_request_t which is since also deleted
from the kernel.The apropriate way to set wakeups in the kernel is to have a
code snippet like this in .suspend() or .runtime_suspend()
callbacks:static int foo_suspend(struct device *dev)
{
if (device_may_wakeup(dev)) {
/* Enable wakeups, set internal states */
}
}This specific callback is not coming back.
Cc: Rafael J. Wysocki
Cc: Len Brown
Cc: Pavel Machek
Cc: Kevin Hilman
Cc: Dmitry Artamonow
Signed-off-by: Linus Walleij
Signed-off-by: Greg Kroah-Hartman
21 May, 2013
1 commit
-
Move "uart_console" definition to serial core header file, so that it can be
used by serial drivers.
Get rid of the uart_console defintion from mpc52xx_uart driver.Cc: Santosh Shilimkar
Cc: Rajendra nayak
Reviewed-by: Felipe Balbi
Reviewed-by: Kevin Hilman
Tested-by: Kevin Hilman
Signed-off-by: Sourav Poddar
Signed-off-by: Greg Kroah-Hartman
14 Feb, 2013
1 commit
-
The PPS (Pulse-Per-Second) line discipline has developed a number of
unhealthy attachments to core tty data and functions, ultimately leading
to its breakage.The previous patches fixed the crashing. This one reduces coupling further
by eliminating the timestamp parameter from the dcd_change ldisc method.
This reduces header file linkage and makes the extension more generic,
and the timestamp read is delayed only slightly, from just before the
ldisc->ops->dcd_change method call to just after.Fix attendant build breakage in
drivers/tty/n_tty.c
drivers/tty/tty_buffer.c
drivers/staging/speakup/selection.c
drivers/staging/dgrp/dgrp_*.cCc: William Hubbs
Cc: Chris Brannon
Cc: Kirk Reiser
Cc: Samuel Thibault
Signed-off-by: Peter Hurley
Signed-off-by: George Spelvin
Acked-by: Rodolfo Giometti
Signed-off-by: Greg Kroah-Hartman
30 Jan, 2013
1 commit
-
The MIPS based Ralink WiSoC platform has 1 or more 8250 compatible serial cores.
To make them work we require the same quirks that are used by AU1x00.Signed-off-by: John Crispin
Signed-off-by: Greg Kroah-Hartman
16 Jan, 2013
3 commits
-
Signed-off-by: Kevin Cernekee
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman -
Now that support for RM9000 and platforms based on it has been removed,
remove the serial driver for it as well. It's really only been a quirk
for an almost 8250 compatible UART anyway.Signed-off-by: Ralf Baechle
drivers/tty/serial/8250/8250.c | 70 +----------------------------------------
drivers/tty/serial/8250/Kconfig | 9 ------
include/linux/serial_core.h | 1 -
3 files changed, 1 insertion(+), 79 deletions(-)
Signed-off-by: Greg Kroah-Hartman -
The serial core is using power states lifted from ACPI for no
good reason. Remove this reference from the documentation and
alter all users to use an enum specific to the serial core
instead, and define it in .Signed-off-by: Linus Walleij
Acked-by: Alan Cox
Reviewed-by: Daniel Lezcano
Signed-off-by: Greg Kroah-Hartman
04 Nov, 2012
3 commits
-
Add two callbacks for hardware assisted flow control; we need to know
when the tty layers want us to stop and restart due to their buffer
levels.Call a driver specific throttle/unthrottle function if and only if the
driver indicates that it is using an enabled hardware assisted flow
control method, otherwise fall back to the non-hardware assisted
methods.Acked-by: Alan Cox
Signed-off-by: Russell King -
Ports which are handling h/w flow control in hardware must not have
their RTS state altered depending on the tty's hardware-stopped state.
Avoid this additional logic when setting the termios state.Acked-by: Alan Cox
Signed-off-by: Russell King -
Ports which are capable of handling s/w flow control in hardware to
know when the s/w flow control termios settings are changed. Add a
flag to allow the low level serial drivers to indicate that they
support this, and these changes should be propagated to them.Acked-by: Alan Cox
Signed-off-by: Russell King
13 Oct, 2012
1 commit
-
Signed-off-by: David Howells
Acked-by: Arnd Bergmann
Acked-by: Thomas Gleixner
Acked-by: Michael Kerrisk
Acked-by: Paul E. McKenney
Acked-by: Dave Jones
27 Sep, 2012
2 commits
-
It was noticed that polling drivers (like KGDB) are not able to use
serial ports if the ports were not previously initialized via console.
I.e. when booting with console=ttyAMA0 kgdboc=ttyAMA0, everything works
fine, but with console=ttyFOO kgdboc=ttyAMA0, the kgdboc doesn't work.This is because we don't initialize the hardware. Calling ->startup() is
not an option, because drivers request interrupts there, and drivers
fail to handle situations when tty isn't opened with interrupts enabled.So, we have to implement a new callback (actually, tty_ops already have
a similar callback), which does everything needed to initialize just the
hardware.Signed-off-by: Anton Vorontsov
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman -
The legacy serial driver will detect the Winbond CIR device as a serial
port, since it looks exactly like a serial port unless you know what
it is from the PNP ID.Here we track this port as a special PORT_8250_CIR type, preventing the
legacy serial driver from probing it.Signed-off-by: Sean Young
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman
17 Aug, 2012
1 commit
-
This driver is a replacement for a MAX3107 driver with a lot of
improvements and new features.
The main differences from the old version:
- Using the regmap.
- Using devm_XXX-related functions.
- The use of threaded IRQ with IRQF_ONESHOT flag allows the driver to
the hardware that supports only level IRQ.
- Improved error handling of serial port, improved FIFO handling,
improved hardware & software flow control.
- Advanced flags allows turn on RS-485 mode (Auto direction control).
- Ability to load multiple instances of drivers.
- Added support for MAX3108.
- GPIO support.
- Driver is quite ready for adding I2C support and support other ICs
with compatible registers set (MAX3109, MAX14830).Signed-off-by: Alexander Shiyan
Signed-off-by: Greg Kroah-Hartman
13 Jun, 2012
1 commit
-
LPC32xx has "Standard" UARTs that are actually 16550A compatible but have
bigger FIFOs. Since the already supported 16X50 line still doesn't match here,
we agreed on adding a new type.Signed-off-by: Roland Stigge
Acked-by: Alan Cox
Acked-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman
19 Apr, 2012
2 commits
-
This allows us to pick up some changes needed for other serial patches.
Signed-off-by: Greg Kroah-Hartman
-
The "KT" serial port has another use case for a "received break" quirk,
so before adding another special case to the 8250 core take this
opportunity to push such quirks out of the core and into a uart_port op.Stephen says:
"If the callback function is to no longer live in 8250.c itself,
arch/arm/mach-tegra/devices.c isn't logically a good place to put it,
and that file will be going away once we get rid of all the board files
and move solely to device tree."...so since 8250_pci.c houses all the quirks for pci serial devices this
quirk is similarly housed in of_serial.c. Once the open firmware
conversion completes the infrastructure details
(include/linux/of_serial.h, and the export) can all be removed to make
this self contained to of_serial.c.Cc: Nhan H Mai
Cc: Colin Cross
Cc: Olof Johansson
[stephen: kill CONFIG_SERIAL_TEGRA in favor just using CONFIG_ARCH_TEGRA]
Cc: Grant Likely
Acked-by: Arnd Bergmann
Acked-by: Sudhakar Mamillapalli
Reported-by: Alan Cox
Acked-by: Alan Cox
Signed-off-by: Dan Williams
Acked-by: Stephen Warren
Tested-by: Stephen Warren
Signed-off-by: Greg Kroah-Hartman
10 Apr, 2012
2 commits
-
Workaround dropped notifications in the iir register. Register reads
coincident with new interrupt notifications sometimes result in this
device clearing the interrupt event without reporting it in the read
data.The serial core already has a heuristic for determining when a device
has an untrustworthy iir register. In this case when we apriori know
that the iir is faulty use a flag (UPF_BUG_THRE) to bypass the test and
force usage of the background timer.[stable: 3.3.x]
Acked-by: Alan Cox
Cc: stable
Reported-by: Nhan H Mai
Reported-by: Sudhakar Mamillapalli
Tested-by: Nhan H Mai
Tested-by: Sudhakar Mamillapalli
Signed-off-by: Dan Williams
Signed-off-by: Greg Kroah-Hartman -
This reverts commit 448ac154c957c4580531fa0c8f2045816fe2f0e7.
The semantic of UPF_IIR_ONCE is only guaranteed to workaround the race
condition in the kt serial's iir register if the only source of
interrupts is THRE (fifo-empty) events. An modem status event at the
wrong time can again cause an iir read to drop the 'empty' status
leading to a hang. So, revert this in preparation for using the
existing "I don't trust my iir register" workaround in the 8250 core
(UART_BUG_THRE).[stable: 3.3.x]
Cc: stable
Acked-by: Alan Cox
Cc: Sudhakar Mamillapalli
Reported-by: Nhan H Mai
Signed-off-by: Dan Williams
Signed-off-by: Greg Kroah-Hartman
10 Mar, 2012
1 commit
-
Looking at the existing serial drivers (esp. the 8250 derived
variants) we see a common trend. They create a hardware specific
port struct, which in turn contains a generic serial_port struct.The other trend, is that they all create some sort of shortcut
to go through the hardware specific struct, to the serial_port
struct, which has the basic in/out operations within. Looking
for the serial_in and serial_out in several drivers shows this.Rather than let this continue, lets create a generic set of
similar helper wrappers that can be used on a struct port, so
we can eliminate bouncing out through hardware specific struct
pointers just to come back into struct port where possible.Signed-off-by: Paul Gortmaker
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman
27 Jan, 2012
1 commit
-
Signed-off-by: Uwe Kleine-König
Signed-off-by: Greg Kroah-Hartman
15 Jan, 2012
1 commit
-
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (119 commits)
MIPS: Delete unused function add_temporary_entry.
MIPS: Set default pci cache line size.
MIPS: Flush huge TLB
MIPS: Octeon: Remove SYS_SUPPORTS_HIGHMEM.
MIPS: Octeon: Add support for OCTEON II PCIe
MIPS: Octeon: Update PCI Latency timer and enable more error reporting.
MIPS: Alchemy: Update cpu-feature-overrides
MIPS: Alchemy: db1200: Improve PB1200 detection.
MIPS: Alchemy: merge Au1000 and Au1300-style IRQ controller code.
MIPS: Alchemy: chain IRQ controllers to MIPS IRQ controller
MIPS: Alchemy: irq: register pm at irq init time
MIPS: Alchemy: Touchscreen support on DB1100
MIPS: Alchemy: Hook up IrDA on DB1000/DB1100
net/irda: convert au1k_ir to platform driver.
MIPS: Alchemy: remove unused board headers
MTD: nand: make au1550nd.c a platform_driver
MIPS: Netlogic: Mark Netlogic chips as SMT capable
MIPS: Netlogic: Add support for XLP 3XX cores
MIPS: Netlogic: Merge some of XLR/XLP wakup code
MIPS: Netlogic: Add default XLP config.
...Fix up trivial conflicts in arch/mips/kernel/{perf_event_mipsxx.c,
traps.c} and drivers/tty/serial/Makefile
08 Dec, 2011
1 commit
-
This patch adds the driver for the built-in UART of the
Atheros AR933X SoCs.Signed-off-by: Gabor Juhos
Cc: linux-mips@linux-mips.org
Cc: Kathy Giori
Cc: "Luis R. Rodriguez"
Cc: Alan Cox
Cc: linux-serial@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/2526/
Signed-off-by: Alan Cox
Signed-off-by: Ralf Baechle
27 Nov, 2011
1 commit
-
Workaround dropped notifications in the iir register. Prevent reads
coincident with new interrupt notifications by reading the iir at most
once per interrupt.Reported-by: Nhan H Mai
Signed-off-by: Dan Williams
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman
16 Nov, 2011
1 commit
-
There are some functions (uart_handle_dcd_change, _handle_cts_change,
_insert_char) which are big enough to not be inlined. So move them
from .h to .c. We need to export them so that modules can actually use
them.They will be even bigger when we introduce tty refcounting to them.
While at it, cleanup the "Proud member of Uglyhacks'R'US". It means,
define uart_handle_sysrq_char only when SUPPORT_SYSRQ is set.
Otherwise define it as a macro. This is needed for some arm driver
where the second parameter is undefined if expanded.Signed-off-by: Jiri Slaby
Cc: Alan Cox
Signed-off-by: Greg Kroah-Hartman
23 Sep, 2011
1 commit
-
The EFR (Enhenced-Features-Register) is located at a different offset
than the other devices supporting UART_CAP_EFR. This change add a special
setup quick to set UPF_EXAR_EFR on the port. UPF_EXAR_EFR is then used to
the port type to PORT_XR17D15X since it is for sure a XR17D15X uart.Signed-off-by: Søren Holm
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman
24 Aug, 2011
3 commits
-
Now that platforms can override the port IRQ handler and the only user
of these UPIO modes has been converted over, kill off UPIO_DWAPB and
UPIO_DWAPB32.Acked-by: Alan Cox
Signed-off-by: Jamie Iles
Signed-off-by: Greg Kroah-Hartman -
Some serial ports may have unusal requirements for interrupt handling
(e.g. the Synopsys DesignWare 8250-alike port and it's busy detect
interrupt). Add a .handle_irq callback that can be used for platforms
to override the interrupt behaviour in a similar fashion to the
.serial_out and .serial_in callbacks.Signed-off-by: Jamie Iles
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman -
tty_wakeup can be called from any context. So there is no need to have
an extra tasklet for calling that. Hence save some space and remove
the tasklet completely.Signed-off-by: Jiri Slaby
Cc: Alan Cox
Signed-off-by: Greg Kroah-Hartman
20 May, 2011
1 commit
-
Tegra's UART is currently auto-detected as PORT_XSCALE due to register
bit UART_IER.UUE being writable. However, the Tegra documentation states
that this register bit is reserved. Hence, we should not program it.Instead, the documentation specifies that the UART is 16550 compatible.
However, Tegra does need register bit UART_IER.RTOIE set, which is not
enabled by any 16550 port type. This was not noticed before, since
PORT_XSCALE enables CAP_UUE, which conflates both UUE and RTOIE bit
programming.This change defines PORT_TEGRA that doesn't set UART_CAP_UUE, but does
set UART_CAP_RTOIE, which is a new capability indicating that the RTOIE
bit needs to be enabled.Based-on-code-by: Laxman Dewangan
Cc: Laxman Dewangan
Signed-off-by: Stephen Warren
Acked-by: Alan Cox
Signed-off-by: Greg Kroah-Hartman
04 May, 2011
1 commit
-
The Xilinx PS Uart is used on the new ARM based SoC. This
UART is not compatible with others such that a seperate
driver is required.Signed-off-by: John Linn
Signed-off-by: Greg Kroah-Hartman
14 Jan, 2011
1 commit
-
Add a helper function to gather timestamps. This way clients don't have
to duplicate it.Signed-off-by: Alexander Gordeev
Acked-by: Rodolfo Giometti
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Dec, 2010
1 commit
-
To avoid unbalanced IRQ wake disable, ensure that wakeups are disabled
only when wakeups have been successfully enabled.
Tested on OMAP3630SDP/ZOOM3.Signed-off-by: Govindraj.R
Reported-by: Paul Walmsley
Cc: Santosh Shilimkar
Acked-by: Kevin Hilman
Signed-off-by: Greg Kroah-Hartman
11 Dec, 2010
1 commit
-
Some platforms contain a Synopsys DesignWare APB UART that is attached
to a 32-bit APB bus where sub-word accesses are not allowed. Add a new
IO type (UPIO_DWAPB32) that performs 32 bit acccesses to the UART.v2:
- don't test for 32 bit in the output fast path, provide a
separate dwabp32_serial_out() function. Refactor
dwabp_serial_out() so that we can reuse the LCR saving
code.
v3:
- rebased on top of "8250: use container_of() instead of
casting"Signed-off-by: Jamie Iles
Signed-off-by: Greg Kroah-Hartman
17 Nov, 2010
1 commit
-
The printout for the type should be just "5xxx", so 512x users won't
wonder why they have a mpc52xx-type UART.Signed-off-by: Wolfram Sang
Cc: Grant Likely
Cc: Greg Kroah-Hartman
Signed-off-by: Greg Kroah-Hartman
12 Nov, 2010
1 commit
-
This adds a driver for the serial ports found in VIA and WonderMedia
Systems-on-Chip. Interrupt-driven FIFO operation is implemented.
The hardware also supports pure register-based operation (which is
slower) and DMA-based FIFO operation. As the FIFOs are only 16 bytes
long, DMA operation is probably not worth the hassle.Signed-off-by: Alexey Charkov
Signed-off-by: Greg Kroah-Hartman
26 Oct, 2010
1 commit
-
* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (163 commits)
omap: complete removal of machine_desc.io_pg_offst and .phys_io
omap: UART: fix wakeup registers for OMAP24xx UART2
omap: Fix spotty MMC voltages
ASoC: OMAP4: MCPDM: Remove unnecessary include of plat/control.h
serial: omap-serial: fix signess error
OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish
omap: dma: Fix buffering disable bit setting for omap24xx
omap: serial: Fix the boot-up crash/reboot without CONFIG_PM
OMAP3: PM: fix scratchpad memory accesses for off-mode
omap4: pandaboard: enable the ehci port on pandaboard
omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set
omap4: pandaboard: remove unused hsmmc definition
OMAP: McBSP: Remove null omap44xx ops comment
OMAP: McBSP: Swap CLKS source definition
OMAP: McBSP: Fix CLKR and FSR signal muxing
OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks
OMAP: control: move plat-omap/control.h to mach-omap2/control.h
OMAP: split plat-omap/common.c
OMAP: McBSP: implement functional clock switching via clock framework
OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c
...Fixed up trivial conflicts in arch/arm/mach-omap2/
{board-zoom-peripherals.c,devices.c} as per Tony
23 Oct, 2010
2 commits
-
Add a hook for platforms to specify custom pm methods.
Signed-off-by: Manuel Lauss
Cc: Alan Cox
Signed-off-by: Greg Kroah-Hartman -
Soon we will use that handy function in the altera_uart driver.
Signed-off-by: Anton Vorontsov
Cc: Alan Cox
Signed-off-by: Greg Kroah-Hartman
30 Sep, 2010
1 commit
-
This patch adds driver support for OMAP2/3/4 high speed UART.
The driver is made separate from 8250 driver as we cannot
over load 8250 driver with omap platform specific configuration for
features like DMA, it makes easier to implement features like DMA and
hardware flow control and software flow control configuration with
this driver as required for the omap-platform.
This patch involves only the core driver and its dependent.Cc: Tony Lindgren
Signed-off-by: Govindraj.R
Acked-by: Alan Cox
Acked-by: Greg Kroah-Hartman
Signed-off-by: Kevin Hilman