Thread (25 messages) 25 messages, 7 authors, 2014-10-21

[PATCH 5/6] tty/serial: Add Spreadtrum's serial earlycon

From: arnd@arndb.de (Arnd Bergmann)
Date: 2014-09-29 13:37:06
Also in: linux-devicetree, lkml

On Monday 29 September 2014 20:04:52 zhang.lyra at gmail.com wrote:
quoted hunk ↗ jump to hunk
From: "chunyan.zhang" <redacted>

Adds earlycon support for the Spreadtrum's serial.

Signed-off-by: chunyan.zhang <redacted>
---
 drivers/tty/serial/Kconfig             |   12 ++++++
 drivers/tty/serial/Makefile            |    1 +
 drivers/tty/serial/serial_sprd_early.c |   64 ++++++++++++++++++++++++++++++++
 3 files changed, 77 insertions(+)
 create mode 100644 drivers/tty/serial/serial_sprd_early.c
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 26cec64..ede16e6 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -85,6 +85,18 @@ config SERIAL_EARLYCON_ARM_SEMIHOST
 	  with "earlycon=smh" on the kernel command line. The console is
 	  enabled when early_param is processed.
 
+config SERIAL_EARLYCON_SPRD
+	bool "Early console using SPRD serial"
+	depends on ARM64
+	select SERIAL_CORE
+	select SERIAL_CORE_CONSOLE
+	select SERIAL_EARLYCON
+	help
I assume you will later want to have a proper device driver for
this hardware, so it would be better to make the Kconfig symbol
and the file name what you are going to use in the long run, but
for now only have the earlycon support included.

+static int __init serial_sprd_early_console_setup(
+				struct earlycon_device *device,
+				const char *opt)
+{
+	if (!device->port.membase)
+		return -ENODEV;
+
+	device->con->write = serial_sprd_early_write;
+	return 0;
+}
+EARLYCON_DECLARE(serial_sprd, serial_sprd_early_console_setup);
+OF_EARLYCON_DECLARE(serial_sprd, "sprd,serial",
+		    serial_sprd_early_console_setup);
I think you should drop the EARLYCON_DECLARE() line, using
OF_EARLYCON_DECLARE should be enough.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help