Early ramconsole is not very useful, an early crash will prevent
getting the logged data out on the next boot, and CONFIG_DEBUG_LL=y
will get the same information. Drop it to simplify a future
refactoring.
CC: Android Kernel Team <kernel-team@android.com>
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
bool "Android RAM Console Enable error correction"
default n
depends on ANDROID_RAM_CONSOLE
bool "Android RAM Console Enable error correction"
default n
depends on ANDROID_RAM_CONSOLE
- depends on !ANDROID_RAM_CONSOLE_EARLY_INIT
select REED_SOLOMON
select REED_SOLOMON_ENC8
select REED_SOLOMON_DEC8
select REED_SOLOMON
select REED_SOLOMON_ENC8
select REED_SOLOMON_DEC8
endif # ANDROID_RAM_CONSOLE_ERROR_CORRECTION
endif # ANDROID_RAM_CONSOLE_ERROR_CORRECTION
-config ANDROID_RAM_CONSOLE_EARLY_INIT
- bool "Start Android RAM console early"
- default n
- depends on ANDROID_RAM_CONSOLE
-
-config ANDROID_RAM_CONSOLE_EARLY_ADDR
- hex "Android RAM console virtual address"
- default 0
- depends on ANDROID_RAM_CONSOLE_EARLY_INIT
-
-config ANDROID_RAM_CONSOLE_EARLY_SIZE
- hex "Android RAM console buffer size"
- default 0
- depends on ANDROID_RAM_CONSOLE_EARLY_INIT
-
config ANDROID_TIMED_OUTPUT
bool "Timed output class driver"
default y
config ANDROID_TIMED_OUTPUT
bool "Timed output class driver"
default y
#define RAM_CONSOLE_SIG (0x43474244) /* DBGC */
#define RAM_CONSOLE_SIG (0x43474244) /* DBGC */
-#ifdef CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT
-static char __initdata
- ram_console_old_log_init_buffer[CONFIG_ANDROID_RAM_CONSOLE_EARLY_SIZE];
-#endif
static char *ram_console_old_log;
static size_t ram_console_old_log_size;
static const char *bootinfo;
static char *ram_console_old_log;
static size_t ram_console_old_log_size;
static const char *bootinfo;
-#ifdef CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT
-static int __init ram_console_early_init(void)
-{
- return ram_console_init((struct ram_console_buffer *)
- CONFIG_ANDROID_RAM_CONSOLE_EARLY_ADDR,
- CONFIG_ANDROID_RAM_CONSOLE_EARLY_SIZE,
- NULL,
- ram_console_old_log_init_buffer);
-}
-#else
static int ram_console_driver_probe(struct platform_device *pdev)
{
struct resource *res = pdev->resource;
static int ram_console_driver_probe(struct platform_device *pdev)
{
struct resource *res = pdev->resource;
err = platform_driver_register(&ram_console_driver);
return err;
}
err = platform_driver_register(&ram_console_driver);
return err;
}
static ssize_t ram_console_read_old(struct file *file, char __user *buf,
size_t len, loff_t *offset)
static ssize_t ram_console_read_old(struct file *file, char __user *buf,
size_t len, loff_t *offset)
if (ram_console_old_log == NULL)
return 0;
if (ram_console_old_log == NULL)
return 0;
-#ifdef CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT
- ram_console_old_log = kmemdup(ram_console_old_log_init_buffer,
- ram_console_old_log_size, GFP_KERNEL);
- if (ram_console_old_log == NULL) {
- printk(KERN_ERR
- "ram_console: failed to allocate buffer for old log\n");
- ram_console_old_log_size = 0;
- return 0;
- }
-#endif
entry = create_proc_entry("last_kmsg", S_IFREG | S_IRUGO, NULL);
if (!entry) {
printk(KERN_ERR "ram_console: failed to create proc entry\n");
entry = create_proc_entry("last_kmsg", S_IFREG | S_IRUGO, NULL);
if (!entry) {
printk(KERN_ERR "ram_console: failed to create proc entry\n");
-#ifdef CONFIG_ANDROID_RAM_CONSOLE_EARLY_INIT
-console_initcall(ram_console_early_init);
-#else
postcore_initcall(ram_console_module_init);
postcore_initcall(ram_console_module_init);
late_initcall(ram_console_late_init);
late_initcall(ram_console_late_init);