There are no implementations of con_debug_enter and con_debug_leave.
Remove the callbacks from struct consw and clean up the caller.
This is a functional revert of commit b45cfba4e900 ("vt,console,kdb:
implement atomic console enter/leave functions").
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
drivers/tty/vt/vt.c | 30 +-----------------------------
include/linux/console.h | 8 --------
2 files changed, 1 insertion(+), 37 deletions(-)
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 86a510e5f3d7..0bc3ea12b415 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -187,19 +187,12 @@ static DECLARE_WORK(con_driver_unregister_work, con_driver_unregister_callback);
* fg_console is the current virtual console,
* last_console is the last used one,
* want_console is the console we want to switch to,
- * saved_* variants are for save/restore around kernel debugger enter/leave
*/
int fg_console;
EXPORT_SYMBOL(fg_console);
int last_console;
int want_console = -1;
-static int saved_fg_console;
-static int saved_last_console;
-static int saved_want_console;
-static int saved_vc_mode;
-static int saved_console_blanked;
-
/*
* For each existing display, we have a pointer to console currently visible
* on that display, allowing consoles other than fg_console to be refreshed
@@ -4287,15 +4280,6 @@ EXPORT_SYMBOL(con_is_visible);
*/
void con_debug_enter(struct vc_data *vc)
{
- saved_fg_console = fg_console;
- saved_last_console = last_console;
- saved_want_console = want_console;
- saved_vc_mode = vc->vc_mode;
- saved_console_blanked = console_blanked;
- vc->vc_mode = KD_TEXT;
- console_blanked = 0;
- if (vc->vc_sw->con_debug_enter)
- vc->vc_sw->con_debug_enter(vc);
#ifdef CONFIG_KGDB_KDB
/* Set the initial LINES variable if it is not already set */
if (vc->vc_rows < 999) {
@@ -4335,19 +4319,7 @@ EXPORT_SYMBOL_GPL(con_debug_enter);
* was invoked.
*/
void con_debug_leave(void)
-{
- struct vc_data *vc;
-
- fg_console = saved_fg_console;
- last_console = saved_last_console;
- want_console = saved_want_console;
- console_blanked = saved_console_blanked;
- vc_cons[fg_console].d->vc_mode = saved_vc_mode;
-
- vc = vc_cons[fg_console].d;
- if (vc->vc_sw->con_debug_leave)
- vc->vc_sw->con_debug_leave(vc);
-}
+{ }
EXPORT_SYMBOL_GPL(con_debug_leave);
static int do_register_con_driver(const struct consw *csw, int first, int last)
diff --git a/include/linux/console.h b/include/linux/console.h
index 031a58dc2b91..99d67fc41fb5 100644
--- a/include/linux/console.h
+++ b/include/linux/console.h
@@ -78,12 +78,6 @@ enum vc_intensity;
* characters. (optional)
* @con_invert_region: invert a region of length @count on @vc starting at @p.
* (optional)
- * @con_debug_enter: prepare the console for the debugger. This includes, but
- * is not limited to, unblanking the console, loading an
- * appropriate palette, and allowing debugger generated output.
- * (optional)
- * @con_debug_leave: restore the console to its pre-debug state as closely as
- * possible. (optional)
*/
struct consw {
struct module *owner;
@@ -122,8 +116,6 @@ struct consw {
enum vc_intensity intensity,
bool blink, bool underline, bool reverse, bool italic);
void (*con_invert_region)(struct vc_data *vc, u16 *p, int count);
- void (*con_debug_enter)(struct vc_data *vc);
- void (*con_debug_leave)(struct vc_data *vc);
};
extern const struct consw *conswitchp;
--
2.52.0
Hi Thomas,
kernel test robot noticed the following build errors:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on tty/tty-next tty/tty-linus linus/master v6.19-rc1 next-20251212]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/vt-Remove-trailing-whitespace/20251208-183541
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link: https://lore.kernel.org/r/20251208102851.40894-3-tzimmermann%40suse.de
patch subject: [PATCH 2/2] vt: Remove con_debug_enter/_leave from struct consw
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20251215/202512150014.F2rxSlJ4-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251215/202512150014.F2rxSlJ4-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512150014.F2rxSlJ4-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/video/fbdev/core/fbcon.c:3176:3: error: field designator 'con_debug_enter' does not refer to any field in type 'const struct consw'
3176 | .con_debug_enter = fbcon_debug_enter,
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:3177:3: error: field designator 'con_debug_leave' does not refer to any field in type 'const struct consw'
3177 | .con_debug_leave = fbcon_debug_leave,
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
vim +3176 drivers/video/fbdev/core/fbcon.c
fe2d70d6f6ff03 drivers/video/fbdev/core/fbcon.c Simona Vetter 2019-05-28 3154
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3155 /*
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3156 * The console `switch' structure for the frame buffer based console
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3157 */
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3158
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3159 static const struct consw fb_con = {
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3160 .owner = THIS_MODULE,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3161 .con_startup = fbcon_startup,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3162 .con_init = fbcon_init,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3163 .con_deinit = fbcon_deinit,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3164 .con_clear = fbcon_clear,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3165 .con_putcs = fbcon_putcs,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3166 .con_cursor = fbcon_cursor,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3167 .con_scroll = fbcon_scroll,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3168 .con_switch = fbcon_switch,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3169 .con_blank = fbcon_blank,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3170 .con_font_set = fbcon_set_font,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3171 .con_font_get = fbcon_get_font,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3172 .con_font_default = fbcon_set_def_font,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3173 .con_set_palette = fbcon_set_palette,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3174 .con_invert_region = fbcon_invert_region,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3175 .con_resize = fbcon_resize,
d219adc1228a38 drivers/video/console/fbcon.c Jesse Barnes 2010-08-02 @3176 .con_debug_enter = fbcon_debug_enter,
d219adc1228a38 drivers/video/console/fbcon.c Jesse Barnes 2010-08-02 @3177 .con_debug_leave = fbcon_debug_leave,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3178 };
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3179
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Thomas,
kernel test robot noticed the following build errors:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on tty/tty-next tty/tty-linus linus/master v6.18 next-20251212]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/vt-Remove-trailing-whitespace/20251208-183541
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link: https://lore.kernel.org/r/20251208102851.40894-3-tzimmermann%40suse.de
patch subject: [PATCH 2/2] vt: Remove con_debug_enter/_leave from struct consw
config: arm-randconfig-r072-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140916.Z01yXO9Q-lkp@intel.com/config)
compiler: clang version 16.0.6 (https://github.com/llvm/llvm-project 7cbf1a2591520c2491aa35339f227775f4d3adf6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140916.Z01yXO9Q-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512140916.Z01yXO9Q-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/video/fbdev/core/fbcon.c:3176:3: error: field designator 'con_debug_enter' does not refer to any field in type 'const struct consw'
.con_debug_enter = fbcon_debug_enter,
^
>> drivers/video/fbdev/core/fbcon.c:3177:3: error: field designator 'con_debug_leave' does not refer to any field in type 'const struct consw'
.con_debug_leave = fbcon_debug_leave,
^
2 errors generated.
vim +3176 drivers/video/fbdev/core/fbcon.c
fe2d70d6f6ff038 drivers/video/fbdev/core/fbcon.c Simona Vetter 2019-05-28 3154
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3155 /*
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3156 * The console `switch' structure for the frame buffer based console
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3157 */
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3158
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3159 static const struct consw fb_con = {
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3160 .owner = THIS_MODULE,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3161 .con_startup = fbcon_startup,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3162 .con_init = fbcon_init,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3163 .con_deinit = fbcon_deinit,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3164 .con_clear = fbcon_clear,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3165 .con_putcs = fbcon_putcs,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3166 .con_cursor = fbcon_cursor,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3167 .con_scroll = fbcon_scroll,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3168 .con_switch = fbcon_switch,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3169 .con_blank = fbcon_blank,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3170 .con_font_set = fbcon_set_font,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3171 .con_font_get = fbcon_get_font,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3172 .con_font_default = fbcon_set_def_font,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3173 .con_set_palette = fbcon_set_palette,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3174 .con_invert_region = fbcon_invert_region,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3175 .con_resize = fbcon_resize,
d219adc1228a388 drivers/video/console/fbcon.c Jesse Barnes 2010-08-02 @3176 .con_debug_enter = fbcon_debug_enter,
d219adc1228a388 drivers/video/console/fbcon.c Jesse Barnes 2010-08-02 @3177 .con_debug_leave = fbcon_debug_leave,
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3178 };
^1da177e4c3f415 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3179
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Thomas,
kernel test robot noticed the following build errors:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on tty/tty-next tty/tty-linus linus/master v6.18 next-20251212]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/vt-Remove-trailing-whitespace/20251208-183541
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
patch link: https://lore.kernel.org/r/20251208102851.40894-3-tzimmermann%40suse.de
patch subject: [PATCH 2/2] vt: Remove con_debug_enter/_leave from struct consw
config: csky-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251213/202512131551.QwAYImi0-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512131551.QwAYImi0-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512131551.QwAYImi0-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/video/fbdev/core/fbcon.c:3176:10: error: 'const struct consw' has no member named 'con_debug_enter'
3176 | .con_debug_enter = fbcon_debug_enter,
| ^~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:3176:35: error: initialization of 'void (*)(struct vc_data *, const unsigned char *)' from incompatible pointer type 'void (*)(struct vc_data *)' [-Werror=incompatible-pointer-types]
3176 | .con_debug_enter = fbcon_debug_enter,
| ^~~~~~~~~~~~~~~~~
drivers/video/fbdev/core/fbcon.c:3176:35: note: (near initialization for 'fb_con.con_set_palette')
drivers/video/fbdev/core/fbcon.c:3176:35: warning: initialized field overwritten [-Woverride-init]
drivers/video/fbdev/core/fbcon.c:3176:35: note: (near initialization for 'fb_con.con_set_palette')
>> drivers/video/fbdev/core/fbcon.c:3177:10: error: 'const struct consw' has no member named 'con_debug_leave'
3177 | .con_debug_leave = fbcon_debug_leave,
| ^~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:3177:35: error: initialization of 'void (*)(struct vc_data *, int)' from incompatible pointer type 'void (*)(struct vc_data *)' [-Werror=incompatible-pointer-types]
3177 | .con_debug_leave = fbcon_debug_leave,
| ^~~~~~~~~~~~~~~~~
drivers/video/fbdev/core/fbcon.c:3177:35: note: (near initialization for 'fb_con.con_scrolldelta')
cc1: some warnings being treated as errors
vim +3176 drivers/video/fbdev/core/fbcon.c
fe2d70d6f6ff03 drivers/video/fbdev/core/fbcon.c Simona Vetter 2019-05-28 3154
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3155 /*
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3156 * The console `switch' structure for the frame buffer based console
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3157 */
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3158
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3159 static const struct consw fb_con = {
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3160 .owner = THIS_MODULE,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3161 .con_startup = fbcon_startup,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3162 .con_init = fbcon_init,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3163 .con_deinit = fbcon_deinit,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3164 .con_clear = fbcon_clear,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3165 .con_putcs = fbcon_putcs,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3166 .con_cursor = fbcon_cursor,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3167 .con_scroll = fbcon_scroll,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3168 .con_switch = fbcon_switch,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3169 .con_blank = fbcon_blank,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3170 .con_font_set = fbcon_set_font,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3171 .con_font_get = fbcon_get_font,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3172 .con_font_default = fbcon_set_def_font,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3173 .con_set_palette = fbcon_set_palette,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3174 .con_invert_region = fbcon_invert_region,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3175 .con_resize = fbcon_resize,
d219adc1228a38 drivers/video/console/fbcon.c Jesse Barnes 2010-08-02 @3176 .con_debug_enter = fbcon_debug_enter,
d219adc1228a38 drivers/video/console/fbcon.c Jesse Barnes 2010-08-02 @3177 .con_debug_leave = fbcon_debug_leave,
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3178 };
^1da177e4c3f41 drivers/video/console/fbcon.c Linus Torvalds 2005-04-16 3179
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
© 2016 - 2025 Red Hat, Inc.