diff options
Diffstat (limited to 'fs/pstore/platform.c')
-rw-r--r-- | fs/pstore/platform.c | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 15c0174b1f..50a1bffdd0 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -27,7 +27,7 @@ #include <linux/mutex.h> #include <console.h> #include <malloc.h> -#include <printk.h> +#include <linux/printk.h> #include <module.h> #include "internal.h" @@ -46,35 +46,6 @@ void pstore_set_kmsg_bytes(int bytes) static int pstore_ready; -static void pstore_console_write(const char *s, unsigned c) -{ - const char *e = s + c; - - while (s < e) { - struct pstore_record record = { - .type = PSTORE_TYPE_CONSOLE, - .psi = psinfo, - }; - - if (c > psinfo->bufsize) - c = psinfo->bufsize; - - record.buf = (char *)s; - record.size = c; - psinfo->write_buf(PSTORE_TYPE_CONSOLE, 0, &record.id, 0, - record.buf, 0, record.size, psinfo); - s += c; - c = e - s; - } -} - -static int pstore_console_puts(struct console_device *cdev, const char *s, - size_t nbytes) -{ - pstore_console_write(s, nbytes); - return nbytes; -} - void pstore_log(const char *str) { uint64_t id; @@ -102,6 +73,9 @@ static void pstore_console_capture_log(void) uint64_t id; struct log_entry *log, *tmp; + if (IS_ENABLED(CONFIG_CONSOLE_NONE)) + return; + list_for_each_entry_safe(log, tmp, &barebox_logbuf, list) { psinfo->write_buf(PSTORE_TYPE_CONSOLE, 0, &id, 0, log->msg, 0, strlen(log->msg), psinfo); |