From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
Petr Mladek <pmladek@suse.com>,
Steven Rostedt <rostedt@goodmis.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 5/5] console: Introduce ->exit() callback
Date: Wed, 29 Jan 2020 16:25:58 +0200 [thread overview]
Message-ID: <20200129142558.GF32742@smile.fi.intel.com> (raw)
In-Reply-To: <20200129134141.GA537@jagdpanzerIV.localdomain>
On Wed, Jan 29, 2020 at 10:41:41PM +0900, Sergey Senozhatsky wrote:
> On (20/01/28 11:44), Andy Shevchenko wrote:
> > > If the console was not registered (hence not enabled) is it still required
> > > to call ->exit()? Is there a requirement that ->exit() should handle such
> > > cases?
> >
> > This is a good point. The ->exit() purpose is to keep balance for whatever
> > happened at ->setup().
> >
> > But ->setup() is being called either when we have has_preferred == false or
> > when we got no matching we call it for all such consoles, till it returns an
> > error (can you elaborate the logic behind it?).
>
> ->match() does alias matching and ->setup(). If alias matching failed,
> exact name match takes place. We don't call ->setup() for all consoles,
> but only for those that have exact name match:
>
> if (strcmp(c->name, newcon->name) != 0)
> continue;
>
> As to why we don't stop sooner in that loop - I need to to do some
> archaeology. We need to have CON_CONSDEV at proper place, which is
> IIRC the last matching console.
>
> Pretty much every time we tried to change the logic we ended up
> reverting the changes.
I understand. Seems the ->setup() has to be idempotent. We can tell the same
for ->exit() in some comment.
Can you describe, btw, struct console in kernel doc format?
It will be very helpful!
> > In both cases we will get the console to have CON_ENABLED flag set.
>
> And there are sneaky consoles that have CON_ENABLED before we even
> register them.
So, taking into consideration my comment to the previous patch, what would be
suggested guard here?
For a starter something like this?
if ((console->flags & CON_ENABLED) && console->exit)
console->exit(console);
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2020-01-29 14:25 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-27 11:47 [PATCH v3 1/5] console: Don't perform test for CON_BRL flag Andy Shevchenko
2020-01-27 11:47 ` [PATCH v3 2/5] console: Drop double check for console_drivers being non-NULL Andy Shevchenko
2020-01-29 13:24 ` Petr Mladek
2020-01-27 11:47 ` [PATCH v3 3/5] console: Use for_each_console() helper in unregister_console() Andy Shevchenko
2020-01-29 14:11 ` Petr Mladek
2020-01-27 11:47 ` [PATCH v3 4/5] console: Avoid positive return code from unregister_console() Andy Shevchenko
2020-01-28 4:43 ` Sergey Senozhatsky
2020-01-28 9:22 ` Andy Shevchenko
2020-01-28 9:25 ` Sergey Senozhatsky
2020-01-28 9:37 ` Sergey Senozhatsky
2020-01-28 9:52 ` Andy Shevchenko
2020-01-30 9:04 ` Petr Mladek
2020-01-30 9:58 ` Andy Shevchenko
2020-01-30 12:22 ` Petr Mladek
2020-01-30 13:13 ` Andy Shevchenko
2020-01-27 11:47 ` [PATCH v3 5/5] console: Introduce ->exit() callback Andy Shevchenko
2020-01-28 5:17 ` Sergey Senozhatsky
2020-01-28 9:44 ` Andy Shevchenko
2020-01-29 13:41 ` Sergey Senozhatsky
2020-01-29 14:25 ` Andy Shevchenko [this message]
2020-01-29 15:12 ` Sergey Senozhatsky
2020-01-29 16:50 ` Sergey Senozhatsky
2020-01-30 13:14 ` Andy Shevchenko
2020-01-30 13:22 ` Petr Mladek
2020-01-30 13:39 ` Andy Shevchenko
2020-01-30 9:09 ` Petr Mladek
2020-01-30 10:01 ` Andy Shevchenko
2020-01-29 12:29 ` [PATCH v3 1/5] console: Don't perform test for CON_BRL flag Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200129142558.GF32742@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=sergey.senozhatsky.work@gmail.com \
--cc=sergey.senozhatsky@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.