From: Arve Hjønnevåg Date: Fri, 16 Jan 2009 03:07:27 +0000 (-0800) Subject: Revert "printk: remove unused code from kernel/printk.c" X-Git-Tag: 2.1b_release~2751 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=663803592ce3262523d156c600374c5b215a0ead;p=platform%2Fkernel%2Fkernel-mfld-blackbay.git Revert "printk: remove unused code from kernel/printk.c" This reverts commit acff181d3574244e651913df77332e897b88bff4. --- diff --git a/kernel/printk.c b/kernel/printk.c index 4bbaff7..1591ab9 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -294,6 +294,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; +} + #ifdef CONFIG_SECURITY_DMESG_RESTRICT int dmesg_restrict = 1; #else