Re: [PATCH 2/2] serial: 8250: fix building Ingenic with SERIAL_8250=m

From: Arnd Bergmann
Date: Mon Feb 08 2016 - 16:46:08 EST


On Monday 08 February 2016 11:45:44 Paul Gortmaker wrote:
> [[PATCH 2/2] serial: 8250: fix building Ingenic with SERIAL_8250=m] On 08/02/2016 (Mon 13:51) Arnd Bergmann wrote:
>
> > The Ingenic 8250 driver has a 'bool' Kconfig symbol, but that
> > breaks when SERIAL_8250 is a loadable module:
> >
> > drivers/tty/built-in.o: In function `ingenic_uart_probe':
> > 8250_ingenic.c:(.text+0x1c1a0): undefined reference to `serial8250_register_8250_port'
> >
> > This changes the symbol to a 'tristate', plus a dependency on
>
> Note that Greg just queued a patch yesterday (but sent in 2015) that
> removed what was the dead modular code.
>
> It could also depend on SERIAL_8250=y to resolve the build issue you
> found, if nobody cares about having modular SOC console UART drivers.

All other UART drivers can be modules, no need for this to be an
exception I think. Having it depend on SERIAL_8250=y would make the
driver disabled on 'allmodconfig', which is a bit counterproductive for
the purpose of allmodconfig. I don't think anyone actually cares about
the driver being runtime loaded on real hardware.

> Either way, I don't have issue with it being tristate vs bool, but if
> you do go with tristate, then my patch will have to be dropped/reverted.

Fine with me too.

I also now saw in the randconfig builds that the driver is missing an #include
<linux/module.h>, which I guess is going to be there after reverting your
patch.

I'll send a new series.

Arnd