Re: [PATCH] RFC: serial: core: Dynamic minor support

From: Sjoerd Simons
Date: Thu Apr 20 2017 - 08:44:42 EST


On Thu, 2017-04-20 at 14:15 +0200, Greg Kroah-Hartman wrote:
> On Thu, Apr 20, 2017 at 02:03:57PM +0200, Sjoerd Simons wrote:
> > --- a/include/linux/serial_core.h
> > +++ b/include/linux/serial_core.h
> > @@ -31,6 +31,8 @@
> > Â#include <linux/sysrq.h>
> > Â#include <uapi/linux/serial_core.h>
> > Â
> > +#define LOW_DENSITY_UART_MAJOR 204
>
> Where are you stealing this from?

Heh, 204 is defined as the "Low-density serial ports" in
devices.txt.ÂAs documented in the commit message, i've repurposed that
for dynamic minors (if configured). Maybe it's better to request a new
major for this purpose? But then again, then just means 204 will go
unused when the option is on so...

Lots of drivers do have it as a hard-coded number, seemed sane to put
it a bit more central for some potential later cleanup in other
drivers.

>
> > +
> > Â#ifdef CONFIG_SERIAL_CORE_CONSOLE
> > Â#define uart_console(port) \
> > Â ((port)->cons && (port)->cons->index == (port)->line)
> > @@ -313,6 +315,10 @@ struct uart_driver {
> > Â Â*/
> > Â struct uart_state *state;
> > Â struct tty_driver *tty_driver;
> > +
> > +#ifdef CONFIG_SERIAL_DYNAMIC_MINORS
> > + struct list_head dynamic_uarts;
> > +#endif
>
> Why not just always have this?

Trying to save a few bytes if the option is unused; Maybe overdoing it
:)

> Nice first try though!

Thanks, If there are no big comments onthe general approach i'll respin
without RFC soonish addressing your other comments.
--
Sjoerd Simons
Collabora Ltd.