mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
59 lines
1.3 KiB
Diff
59 lines
1.3 KiB
Diff
|
From fca2519ebf25db61da132932eb3fffeaa1974f43 Mon Sep 17 00:00:00 2001
|
||
|
From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= <arve@android.com>
|
||
|
Date: Thu, 15 Jan 2009 19:07:27 -0800
|
||
|
Subject: [PATCH 109/134] Revert "printk: remove unused code from kernel/printk.c"
|
||
|
|
||
|
This reverts commit acff181d3574244e651913df77332e897b88bff4.
|
||
|
---
|
||
|
kernel/printk.c | 39 +++++++++++++++++++++++++++++++++++++++
|
||
|
1 files changed, 39 insertions(+), 0 deletions(-)
|
||
|
|
||
|
--- a/kernel/printk.c
|
||
|
+++ b/kernel/printk.c
|
||
|
@@ -255,6 +255,45 @@ static inline void boot_delay_msec(void)
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
+ * Return the number of unread characters in the log buffer.
|
||
|
+ */
|
||
|
+static int log_buf_get_len(void)
|
||
|
+{
|
||
|
+ return logged_chars;
|
||
|
+}
|
||
|
+
|
||
|
+/*
|
||
|
+ * Copy a range of characters from the log buffer.
|
||
|
+ */
|
||
|
+int log_buf_copy(char *dest, int idx, int len)
|
||
|
+{
|
||
|
+ int ret, max;
|
||
|
+ bool took_lock = false;
|
||
|
+
|
||
|
+ if (!oops_in_progress) {
|
||
|
+ spin_lock_irq(&logbuf_lock);
|
||
|
+ took_lock = true;
|
||
|
+ }
|
||
|
+
|
||
|
+ max = log_buf_get_len();
|
||
|
+ if (idx < 0 || idx >= max) {
|
||
|
+ ret = -1;
|
||
|
+ } else {
|
||
|
+ if (len > max)
|
||
|
+ len = max;
|
||
|
+ ret = len;
|
||
|
+ idx += (log_end - max);
|
||
|
+ while (len-- > 0)
|
||
|
+ dest[len] = LOG_BUF(idx + len);
|
||
|
+ }
|
||
|
+
|
||
|
+ if (took_lock)
|
||
|
+ spin_unlock_irq(&logbuf_lock);
|
||
|
+
|
||
|
+ return ret;
|
||
|
+}
|
||
|
+
|
||
|
+/*
|
||
|
* Commands to do_syslog:
|
||
|
*
|
||
|
* 0 -- Close the log. Currently a NOP.
|