91 lines
2.9 KiB
Diff
91 lines
2.9 KiB
Diff
|
From: John Ogness <john.ogness@linutronix.de>
|
||
|
Date: Tue, 20 Aug 2024 08:35:41 +0206
|
||
|
Subject: [PATCH 15/54] printk: nbcon: Do not rely on proxy headers
|
||
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.11/older/patches-6.11-rt7.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>
|
||
|
Acked-by: Petr Mladek <pmladek@suse.com>
|
||
|
Link: https://lore.kernel.org/r/20240820063001.36405-16-john.ogness@linutronix.de
|
||
|
Signed-off-by: Petr Mladek <pmladek@suse.com>
|
||
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||
|
---
|
||
|
kernel/printk/internal.h | 8 ++++++--
|
||
|
kernel/printk/nbcon.c | 13 ++++++++++++-
|
||
|
kernel/printk/printk_ringbuffer.h | 2 ++
|
||
|
3 files changed, 20 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(const 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,13 +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.
|