aboutsummaryrefslogtreecommitdiffstats
path: root/features/rt/printk-relocate-printk_delay-and-vprintk_default.patch
diff options
context:
space:
mode:
Diffstat (limited to 'features/rt/printk-relocate-printk_delay-and-vprintk_default.patch')
-rw-r--r--features/rt/printk-relocate-printk_delay-and-vprintk_default.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/features/rt/printk-relocate-printk_delay-and-vprintk_default.patch b/features/rt/printk-relocate-printk_delay-and-vprintk_default.patch
new file mode 100644
index 00000000..3e26bd6f
--- /dev/null
+++ b/features/rt/printk-relocate-printk_delay-and-vprintk_default.patch
@@ -0,0 +1,88 @@
+From d517c77fcda22109a0cfd3bd55312c4404eb3206 Mon Sep 17 00:00:00 2001
+From: John Ogness <john.ogness@linutronix.de>
+Date: Mon, 30 Nov 2020 01:42:03 +0106
+Subject: [PATCH 026/191] printk: relocate printk_delay() and vprintk_default()
+
+Move printk_delay() and vprintk_default() "as is" further up so that
+they can be used by new functions in an upcoming commit.
+
+Signed-off-by: John Ogness <john.ogness@linutronix.de>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ kernel/printk/printk.c | 40 ++++++++++++++++++++--------------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
+index 5af6f757818f..84fae4f08634 100644
+--- a/kernel/printk/printk.c
++++ b/kernel/printk/printk.c
+@@ -1725,6 +1725,20 @@ SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len)
+ return do_syslog(type, buf, len, SYSLOG_FROM_READER);
+ }
+
++int printk_delay_msec __read_mostly;
++
++static inline void printk_delay(void)
++{
++ if (unlikely(printk_delay_msec)) {
++ int m = printk_delay_msec;
++
++ while (m--) {
++ mdelay(1);
++ touch_nmi_watchdog();
++ }
++ }
++}
++
+ /*
+ * Special console_lock variants that help to reduce the risk of soft-lockups.
+ * They allow to pass console_lock to another printk() call using a busy wait.
+@@ -1968,20 +1982,6 @@ static void printk_exit_irqrestore(unsigned long flags)
+ local_irq_restore(flags);
+ }
+
+-int printk_delay_msec __read_mostly;
+-
+-static inline void printk_delay(void)
+-{
+- if (unlikely(printk_delay_msec)) {
+- int m = printk_delay_msec;
+-
+- while (m--) {
+- mdelay(1);
+- touch_nmi_watchdog();
+- }
+- }
+-}
+-
+ static inline u32 printk_caller_id(void)
+ {
+ return in_task() ? task_pid_nr(current) :
+@@ -2214,18 +2214,18 @@ asmlinkage int vprintk_emit(int facility, int level,
+ }
+ EXPORT_SYMBOL(vprintk_emit);
+
+-asmlinkage int vprintk(const char *fmt, va_list args)
+-{
+- return vprintk_func(fmt, args);
+-}
+-EXPORT_SYMBOL(vprintk);
+-
+ int vprintk_default(const char *fmt, va_list args)
+ {
+ return vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, fmt, args);
+ }
+ EXPORT_SYMBOL_GPL(vprintk_default);
+
++asmlinkage int vprintk(const char *fmt, va_list args)
++{
++ return vprintk_func(fmt, args);
++}
++EXPORT_SYMBOL(vprintk);
++
+ /**
+ * printk - print a kernel message
+ * @fmt: format string
+--
+2.19.1
+