summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0015-printk-nbcon-Do-not-rely-on-proxy-headers.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0015-printk-nbcon-Do-not-rely-on-proxy-headers.patch')
-rw-r--r--debian/patches-rt/0015-printk-nbcon-Do-not-rely-on-proxy-headers.patch87
1 files changed, 87 insertions, 0 deletions
diff --git a/debian/patches-rt/0015-printk-nbcon-Do-not-rely-on-proxy-headers.patch b/debian/patches-rt/0015-printk-nbcon-Do-not-rely-on-proxy-headers.patch
new file mode 100644
index 000000000..3ea3dd3d7
--- /dev/null
+++ b/debian/patches-rt/0015-printk-nbcon-Do-not-rely-on-proxy-headers.patch
@@ -0,0 +1,87 @@
+From: John Ogness <john.ogness@linutronix.de>
+Date: Mon, 19 Feb 2024 17:35:49 +0000
+Subject: [PATCH 15/48] printk: nbcon: Do not rely on proxy headers
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8.2-rt11.tar.xz
+
+The headers kernel.h, serial_core.h, and console.h allow for the
+definitions of many types and functions from other headers.
+Rather than relying on these as proxy headers, explicitly
+include all headers providing needed definitions. Also sort the
+list alphabetically to be able to easily detect duplicates.
+
+Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: John Ogness <john.ogness@linutronix.de>
+Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ kernel/printk/internal.h | 8 ++++++--
+ kernel/printk/nbcon.c | 12 +++++++++++-
+ kernel/printk/printk_ringbuffer.h | 2 ++
+ 3 files changed, 19 insertions(+), 3 deletions(-)
+
+--- a/kernel/printk/internal.h
++++ b/kernel/printk/internal.h
+@@ -2,11 +2,12 @@
+ /*
+ * internal.h - printk internal definitions
+ */
+-#include <linux/percpu.h>
+ #include <linux/console.h>
+-#include "printk_ringbuffer.h"
++#include <linux/percpu.h>
++#include <linux/types.h>
+
+ #if defined(CONFIG_PRINTK) && defined(CONFIG_SYSCTL)
++struct ctl_table;
+ void __init printk_sysctl_init(void);
+ int devkmsg_sysctl_set_loglvl(struct ctl_table *table, int write,
+ void *buffer, size_t *lenp, loff_t *ppos);
+@@ -43,6 +44,9 @@ enum printk_info_flags {
+ LOG_CONT = 8, /* text is a fragment of a continuation line */
+ };
+
++struct printk_ringbuffer;
++struct dev_printk_info;
++
+ extern struct printk_ringbuffer *prb;
+
+ __printf(4, 0)
+--- a/kernel/printk/nbcon.c
++++ b/kernel/printk/nbcon.c
+@@ -2,14 +2,24 @@
+ // Copyright (C) 2022 Linutronix GmbH, John Ogness
+ // Copyright (C) 2022 Intel, Thomas Gleixner
+
+-#include <linux/kernel.h>
++#include <linux/atomic.h>
+ #include <linux/bug.h>
+ #include <linux/console.h>
+ #include <linux/delay.h>
++#include <linux/errno.h>
+ #include <linux/export.h>
++#include <linux/init.h>
++#include <linux/irqflags.h>
++#include <linux/minmax.h>
++#include <linux/percpu.h>
++#include <linux/preempt.h>
+ #include <linux/slab.h>
++#include <linux/smp.h>
++#include <linux/stddef.h>
+ #include <linux/string.h>
++#include <linux/types.h>
+ #include "internal.h"
++#include "printk_ringbuffer.h"
+ /*
+ * Printk console printing implementation for consoles which does not depend
+ * on the legacy style console_lock mechanism.
+--- a/kernel/printk/printk_ringbuffer.h
++++ b/kernel/printk/printk_ringbuffer.h
+@@ -5,6 +5,8 @@
+
+ #include <linux/atomic.h>
+ #include <linux/dev_printk.h>
++#include <linux/stddef.h>
++#include <linux/types.h>
+
+ /*
+ * Meta information about each stored message.