linux-stable/drivers/tty/serial
Peter Hurley 470ca0de69 serial: earlycon: Enable earlycon without command line param
Earlycon matching can only be triggered if 'earlycon=...' has been
specified on the kernel command line. To workaround this limitation
requires tight coupling between arches and specific serial drivers
in order to start an earlycon. Devicetree avoids this limitation
with a link table that contains the required data to match earlycons.

Mirror this approach for earlycon match by name. Re-purpose
EARLYCON_DECLARE to generate a table entry which associates name with
setup() function. Re-purpose setup_earlycon() to scan this table for
an earlycon match, which is registered if found.

Declare one "earlycon" early_param, which calls setup_earlycon().

This design allows setup_earlycon() to be called directly with a
param string (as if 'earlycon=...' had been set on the command line).
Re-registration (either directly or by early_param) is prevented.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-03-26 17:25:27 +01:00
..
8250 serial: earlycon: Enable earlycon without command line param 2015-03-26 17:25:27 +01:00
cpm_uart Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
jsm serial: jsm: Fix unnecessary space before function ptr arguments 2014-11-25 17:06:38 -08:00
21285.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
68328serial.c
altera_jtaguart.c serial: altera-juart: fix NULL device in log message 2015-01-09 14:28:17 -08:00
altera_uart.c serial: altera-uart: fix NULL device in log message 2015-01-09 14:28:17 -08:00
amba-pl010.c serial: Test/disable MSIs if switching from N_PPS 2014-11-06 14:57:27 -08:00
amba-pl011.c drivers/tty: serial: remove info message 2015-03-11 16:38:25 +01:00
apbuart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
apbuart.h
ar933x_uart.c serial: ar933x_uart: Fix off-by-one for checking valid alias id 2015-03-07 03:20:25 +01:00
arc_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
atmel_serial.c Merge 4.0-rc3 into tty-testing 2015-03-09 07:08:37 +01:00
bcm63xx_uart.c tty: serial/bcm63xx_uart: fix sparse warning 2015-03-07 03:13:07 +01:00
bfin_sport_uart.c tty: pr_warning->pr_warn and logging neatening 2014-11-25 17:06:38 -08:00
bfin_sport_uart.h
bfin_uart.c bfin uart: it will hang when read current y count if not disable dma irq 2015-03-26 16:10:10 +01:00
clps711x.c serial: clps711x: fail if mctrl_gpio_init fails 2015-03-07 03:15:03 +01:00
crisv10.c cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
crisv10.h cris: Remove obsolete ASYNC_SPLIT_TERMIOS behavior 2014-11-05 20:18:30 -08:00
digicolor-usart.c tty/serial: digicolor: remove sysrq reference 2015-02-02 10:11:25 -08:00
dz.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
dz.h
earlycon-arm-semihost.c
earlycon.c serial: earlycon: Enable earlycon without command line param 2015-03-26 17:25:27 +01:00
efm32-uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
etraxfs-uart.c serial: driver for ETRAX FS UART 2015-02-07 18:43:16 +08:00
fsl_lpuart.c tty: serial: fsl_lpuart: terminate DMA on buffer flush 2015-02-02 10:09:55 -08:00
icom.c serial: icom: fix error return code 2014-11-25 17:06:39 -08:00
icom.h
ifx6x60.c
ifx6x60.h
imx.c serial: imx: Add braces to avoid ambiguous 'else' 2015-03-11 13:55:20 +01:00
ioc3_serial.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
ioc4_serial.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
ip22zilog.c serial: use container_of to resolve uart_ip22zilog_port from uart_port 2014-11-05 19:20:52 -08:00
ip22zilog.h
Kconfig x86, intel-mid: remove Intel MID specific serial support 2015-03-07 03:25:18 +01:00
kgdb_nmi.c serial: kgdb_nmi: No CON_ENABLED by default 2014-09-08 16:26:07 -07:00
kgdboc.c
lantiq.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
lpc32xx_hs.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
m32r_sio.c serial: use container_of to resolve uart_sio_port from uart_port 2014-11-05 19:20:52 -08:00
m32r_sio.h
m32r_sio_reg.h
Makefile x86, intel-mid: remove Intel MID specific serial support 2015-03-07 03:25:18 +01:00
max310x.c drivers/max310: Use the rs485 functions on serial_core 2014-11-06 15:00:15 -08:00
max3100.c tty: max3100: use msecs_to_jiffies for time conversion 2015-03-07 03:13:08 +01:00
mcf.c serial: mcf: fix no driver name in probe output 2015-01-09 14:06:57 -08:00
men_z135_uart.c tty: serial: men_z135_uart: Fix driver for changes in hardware 2015-02-02 10:11:27 -08:00
meson_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
mpc52xx_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
mpsc.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
msm_serial.c tty: serial: msm_serial: Remove console unregistration from driver exit. 2015-02-02 10:11:25 -08:00
msm_serial.h tty: serial: msm: Support sysrq on uartDM devices 2014-11-06 14:57:22 -08:00
msm_serial_hs.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
msm_smd_tty.c
mux.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
mxs-auart.c serial: mxs-auart: Fix build error 2015-03-11 13:55:20 +01:00
netx-serial.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
nwpserial.c serial: Fix build failure caused by missing header file 2014-09-08 16:17:45 -07:00
of_serial.c Revert "tty/serial: of_serial: add DT alias ID handling" 2015-03-07 03:06:51 +01:00
omap-serial.c serial: omap: Fix RTS handling 2015-02-02 10:11:28 -08:00
pch_uart.c pch_uart: don't hardcode PCI slot to get DMA device 2014-08-01 16:04:21 -07:00
pmac_zilog.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pmac_zilog.h
pnx8xxx_uart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
pxa.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
rp2.c
sa1100.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
samsung.c serial: samsung: earlycon support depends on CONFIG_SERIAL_SAMSUNG_CONSOLE 2015-02-02 11:11:00 -08:00
samsung.h serial: samsung: add DMA support for RX 2015-01-09 14:25:39 -08:00
sb1250-duart.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
sc16is7xx.c serial/sc16is7xx: Use the rs485 functions on serial_core 2014-11-06 14:59:21 -08:00
sccnxp.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
serial-tegra.c serial: tegra: clean up tty-flag assignments 2014-11-25 17:06:39 -08:00
serial_core.c serial: core: Fix kernel doc for uart_console_write() 2015-03-26 16:16:20 +01:00
serial_ks8695.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
serial_mctrl_gpio.c serial: mctrl_gpio: Fix build warnings 2015-03-11 13:55:20 +01:00
serial_mctrl_gpio.h
serial_txx9.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
sh-sci.c serial: sh-sci: Fix R-Car SCIF and HSCIF overrun handling 2015-02-02 10:11:26 -08:00
sh-sci.h
sirfsoc_uart.c serial: sirf: rename marco to atlas7 2015-01-09 14:17:59 -08:00
sirfsoc_uart.h serial: sirf: rename marco to atlas7 2015-01-09 14:17:59 -08:00
sn_console.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
sprd_serial.c Merge 4.0-rc3 into tty-testing 2015-03-09 07:08:37 +01:00
st-asc.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
suncore.c
sunhv.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
sunsab.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunsab.h
sunsu.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sunzilog.h
tilegx.c serial: treewide: Remove empty implementations of enable_ms() 2014-07-09 17:29:38 -07:00
timbuart.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
timbuart.h
uartlite.c tty: serial: uartlite: Remove .owner field for driver 2014-09-08 16:09:13 -07:00
ucc_uart.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
vr41xx_siu.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
vt8500_serial.c tty: serial: drop owner assignment from platform_drivers 2014-10-20 16:21:45 +02:00
xilinx_uartps.c tty: serial: xilinx_uartps: Use Macro for ttyPS0 2015-03-07 03:28:57 +01:00
zs.c serial: Fix IGNBRK handling 2014-06-19 13:04:52 -07:00
zs.h