Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

console: Delete dummy con_font_set() and con_font_default() callback implementations

.con_font_set and .con_font_default callbacks should not pass `struct
console_font *` as a parameter, since `struct console_font` is a UAPI
structure.

We are trying to let them use our new kernel font descriptor, `struct
font_desc` instead. To make that work slightly easier, first delete all of
their no-op implementations used by dummy consoles.

This will make KD_FONT_OP_SET and KD_FONT_OP_SET_DEFAULT ioctl() requests
on dummy consoles start to fail and return `-ENOSYS`, which is intended,
since no user should ever expect such operations to succeed on dummy
consoles.

Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Peilin Ye <yepeilin.cs@gmail.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/9952c7538d2a32bb1a82af323be482e7afb3dedf.1605169912.git.yepeilin.cs@gmail.com

authored by

Peilin Ye and committed by
Daniel Vetter
259a252c 7a089ec7

-29
-15
drivers/usb/misc/sisusbvga/sisusb_con.c
··· 1345 1345 return 0; 1346 1346 } 1347 1347 1348 - static int sisusbdummycon_font_set(struct vc_data *vc, 1349 - struct console_font *font, 1350 - unsigned int flags) 1351 - { 1352 - return 0; 1353 - } 1354 - 1355 - static int sisusbdummycon_font_default(struct vc_data *vc, 1356 - struct console_font *font, char *name) 1357 - { 1358 - return 0; 1359 - } 1360 - 1361 1348 static const struct consw sisusb_dummy_con = { 1362 1349 .owner = THIS_MODULE, 1363 1350 .con_startup = sisusbdummycon_startup, ··· 1357 1370 .con_scroll = sisusbdummycon_scroll, 1358 1371 .con_switch = sisusbdummycon_switch, 1359 1372 .con_blank = sisusbdummycon_blank, 1360 - .con_font_set = sisusbdummycon_font_set, 1361 - .con_font_default = sisusbdummycon_font_default, 1362 1373 }; 1363 1374 1364 1375 int
-14
drivers/video/console/dummycon.c
··· 124 124 return 0; 125 125 } 126 126 127 - static int dummycon_font_set(struct vc_data *vc, struct console_font *font, 128 - unsigned int flags) 129 - { 130 - return 0; 131 - } 132 - 133 - static int dummycon_font_default(struct vc_data *vc, 134 - struct console_font *font, char *name) 135 - { 136 - return 0; 137 - } 138 - 139 127 /* 140 128 * The console `switch' structure for the dummy console 141 129 * ··· 142 154 .con_scroll = dummycon_scroll, 143 155 .con_switch = dummycon_switch, 144 156 .con_blank = dummycon_blank, 145 - .con_font_set = dummycon_font_set, 146 - .con_font_default = dummycon_font_default, 147 157 }; 148 158 EXPORT_SYMBOL_GPL(dummy_con);