patch "tty: pl011: use "qdf2400_e44" as the earlycon name for QDF2400 E44" added to tty-next
This is a note to let you know that I've just added the patch titled
tty: pl011: use "qdf2400_e44" as the earlycon name for QDF2400 E44
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-next branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will also be merged in the next major kernel release during the merge window.
If you have any questions about this process, please let me know.
Quoted 1 line
From
5a0722b898f851b9ef108ea7babc529e4efc773dMon Sep 17 00:00:00 2001
From: Timur Tabi <[email protected]>
Date: Thu, 13 Apr 2017 08:55:08 -0500
Subject: tty: pl011: use "qdf2400_e44" as the earlycon name for QDF2400 E44
Define a new early console name for Qualcomm Datacenter Technologies QDF2400 SOCs affected by erratum 44, instead of piggy-backing on "pl011". Previously, to enable traditional (non-SPCR) earlycon, the documentation said to specify "earlycon=pl011,<address>,qdf2400_e44", but the code was broken and this didn't actually work.
So instead, the method for specifying the E44 work-around with traditional earlycon is "earlycon=qdf2400_e44,<address>". Both methods of earlycon are now enabled with the same function.
--- drivers/tty/serial/amba-pl011.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-)
drivers/tty/serial/amba-pl011.c +23 -8
@@ -2475,19 +2475,34 @@ static int __init pl011_early_console_setup(struct earlycon_device *device,if (!device->port.membase)return -ENODEV ; -/* On QDF2400 SOCs affected by Erratum 44, the "qdf2400_e44" must -* also be specified, e.g. "earlycon=pl011,<address>,qdf2400_e44". -*/ -if (!strcmp (device->options,"qdf2400_e44" )) - device->con->write = qdf2400_e44_early_write; -else - device->con->write = pl011_early_write; + device->con->write = pl011_early_write; return 0; }OF_EARLYCON_DECLARE (pl011,"arm,pl011" , pl011_early_console_setup);OF_EARLYCON_DECLARE (pl011,"arm,sbsa-uart" , pl011_early_console_setup); -EARLYCON_DECLARE (qdf2400_e44, pl011_early_console_setup); + +/* +* On Qualcomm Datacenter Technologies QDF2400 SOCs affected by +* Erratum 44, traditional earlycon can be enabled by specifying +* "earlycon=qdf2400_e44,<address>". Any options are ignored. +* +* Alternatively, you can just specify "earlycon", and the early console +* will be enabled with the information from the SPCR table. In this +* case, the SPCR code will detect the need for the E44 work-around, +* and set the console name to "qdf2400_e44". +*/ +static int __init +qdf2400_e44_early_console_setup (struct earlycon_device *device, +const char *opt) +{ +if (!device->port.membase) +return -ENODEV ; + + device->con->write = qdf2400_e44_early_write; +return 0 ; +} +EARLYCON_DECLARE (qdf2400_e44, qdf2400_e44_early_console_setup);#else #define AMBA_CONSOLE NULL
Signature · 1 line
2.12.2