Re: [PATCH 8/9] serdev: add a tty port controller driver

From: Andy Shevchenko
Date: Fri Jan 13 2017 - 10:06:14 EST


On Thu, 2017-01-12 at 10:01 -0600, Rob Herring wrote:
> On Sat, Jan 7, 2017 at 8:11 AM, Andy Shevchenko
> <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > On Fri, 2017-01-06 at 10:26 -0600, Rob Herring wrote:
> > > Add a serdev controller driver for tty ports.
> > >
> > > The controller is registered with serdev when tty ports are
> > > registered
> > > with the TTY core. As the TTY core is built-in only, this has the
> > > side
> > > effect of making serdev built-in as well.
> > >
> > >
> > > +if SERIAL_DEV_BUS
> > > +
> > > +config SERIAL_DEV_CTRL_TTYPORT
> > > +ÂÂÂÂÂbool "Serial device TTY port controller"
> > > +ÂÂÂÂÂdepends on TTY
> > > +ÂÂÂÂÂdepends on SERIAL_DEV_BUS=y
> >
> > Do you need one?
>
> Yes, otherwise the bus can be built as a module and this driver can
> still be enabled breaking the build. I could drop supporting building
> the bus as a module because as long as this is the only controller
> driver, it all has to be built-in.

Would

if SERIAL_DEV_BUS=y

work for you?
Â

> Is there any desire/plan to make
> the TTY layer buildable as a module?

Have no idea.

> > > +ÂÂÂÂÂserdev_controller_put(ctrl);
> > > +ÂÂÂÂÂreturn ret;
> > > +}
> > > +
> > > +void serdev_tty_port_unregister(struct tty_port *port)
> > > +{
> > > +ÂÂÂÂÂstruct serdev_controller *ctrl = port->client_data;
> > > +ÂÂÂÂÂstruct serport *serport =
> > > serdev_controller_get_drvdata(ctrl);
> > > +
> > >
> > > +ÂÂÂÂÂif (!serport)
> > > +ÂÂÂÂÂÂÂÂÂÂÂÂÂreturn;
> >
> > Same question, whose responsibility to do this?
>
> I don't get the question. ctrl and serport can be NULL here so the
> caller can call this unconditionally.

Yes, you got it. And I get the answer.

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy