Messages in this thread | | | Date | Mon, 27 Jan 2020 11:44:04 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH v2 1/5] console: Don't perform test for CON_BRL flag twice |
| |
On Mon, Jan 27, 2020 at 11:41:14AM +0900, Sergey Senozhatsky wrote: > On (20/01/24 17:57), Andy Shevchenko wrote: > [..] > > +++ b/drivers/accessibility/braille/braille_console.c > > @@ -369,10 +369,10 @@ int braille_register_console(struct console *console, int index, > > > > int braille_unregister_console(struct console *console) > > { > > - if (braille_co != console) > > - return -EINVAL; > > if (!(console->flags & CON_BRL)) > > return 0; > > + if (braille_co != console) > > + return -EINVAL; > > unregister_keyboard_notifier(&keyboard_notifier_block); > > unregister_vt_notifier(&vt_notifier_block); > > braille_co = NULL; > > diff --git a/kernel/printk/braille.c b/kernel/printk/braille.c > > index 17a9591e54ff..2ec42173890f 100644 > > --- a/kernel/printk/braille.c > > +++ b/kernel/printk/braille.c > > @@ -51,8 +51,5 @@ _braille_register_console(struct console *console, struct console_cmdline *c) > > int > > _braille_unregister_console(struct console *console) > > { > > - if (console->flags & CON_BRL) > > - return braille_unregister_console(console); > > - > > - return 0; > > + return braille_unregister_console(console); > > } > > Hmm, I don't know. This moves sort of important code from common upper > layer down to particular driver implementation. Should there be another > driver/super-braille.c it must test CON_BRL flag as well. > Because printk invokes _braille_unregister_console() unconditionally, > and _braille_unregister_console() unconditionally calls into the driver. > > I guess we can remove CON_BRL from braille_unregister_console() instead, > because printk tests it.
Let me do that way, thanks!
-- With Best Regards, Andy Shevchenko
| |