earlycon: Use common framework for earlycon declarations
Use a single common table of struct earlycon_id for both command line and devicetree. Re-define OF_EARLYCON_DECLARE() macro to instance a unique earlycon declaration (the declaration is only guaranteed to be unique within a compilation unit; separate compilation units must still use unique earlycon names). The semantics of OF_EARLYCON_DECLARE() is different; it declares an earlycon which can matched either on the command line or by devicetree. EARLYCON_DECLARE() is semantically unchanged; it declares an earlycon which is matched by command line only. Remove redundant instances of EARLYCON_DECLARE(). This enables all earlycons to properly initialize struct console with the appropriate name and index, which improves diagnostics and enables direct earlycon-to-console handoff. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
8477614d9f
commit
2eaa790989
@@ -2451,7 +2451,6 @@ static int __init s3c2410_early_console_setup(struct earlycon_device *device,
|
||||
}
|
||||
OF_EARLYCON_DECLARE(s3c2410, "samsung,s3c2410-uart",
|
||||
s3c2410_early_console_setup);
|
||||
EARLYCON_DECLARE(s3c2410, s3c2410_early_console_setup);
|
||||
|
||||
/* S3C2412, S3C2440, S3C64xx */
|
||||
static struct samsung_early_console_data s3c2440_early_console_data = {
|
||||
@@ -2470,9 +2469,6 @@ OF_EARLYCON_DECLARE(s3c2440, "samsung,s3c2440-uart",
|
||||
s3c2440_early_console_setup);
|
||||
OF_EARLYCON_DECLARE(s3c6400, "samsung,s3c6400-uart",
|
||||
s3c2440_early_console_setup);
|
||||
EARLYCON_DECLARE(s3c2412, s3c2440_early_console_setup);
|
||||
EARLYCON_DECLARE(s3c2440, s3c2440_early_console_setup);
|
||||
EARLYCON_DECLARE(s3c6400, s3c2440_early_console_setup);
|
||||
|
||||
/* S5PV210, EXYNOS */
|
||||
static struct samsung_early_console_data s5pv210_early_console_data = {
|
||||
@@ -2489,8 +2485,6 @@ OF_EARLYCON_DECLARE(s5pv210, "samsung,s5pv210-uart",
|
||||
s5pv210_early_console_setup);
|
||||
OF_EARLYCON_DECLARE(exynos4210, "samsung,exynos4210-uart",
|
||||
s5pv210_early_console_setup);
|
||||
EARLYCON_DECLARE(s5pv210, s5pv210_early_console_setup);
|
||||
EARLYCON_DECLARE(exynos4210, s5pv210_early_console_setup);
|
||||
#endif
|
||||
|
||||
MODULE_ALIAS("platform:samsung-uart");
|
||||
|
Reference in New Issue
Block a user