Re: [PATCH 13/36] tty: serial: 8250: 8250_port: Staticify functions referenced by pointers

From: Greg Kroah-Hartman
Date: Fri Nov 06 2020 - 05:55:07 EST


On Fri, Nov 06, 2020 at 10:48:10AM +0000, Lee Jones wrote:
> On Fri, 06 Nov 2020, Greg Kroah-Hartman wrote:
>
> > On Fri, Nov 06, 2020 at 10:16:46AM +0000, Lee Jones wrote:
> > > On Fri, 06 Nov 2020, Lee Jones wrote:
> > >
> > > > On Fri, 06 Nov 2020, Greg Kroah-Hartman wrote:
> > > >
> > > > > On Wed, Nov 04, 2020 at 07:35:26PM +0000, Lee Jones wrote:
> > > > > > Fixes the following W=1 kernel build warning(s):
> > > > > >
> > > > > > drivers/tty/serial/8250/8250_port.c:349:14: warning: no previous prototype for ‘au_serial_in’ [-Wmissing-prototypes]
> > > > > > drivers/tty/serial/8250/8250_port.c:359:6: warning: no previous prototype for ‘au_serial_out’ [-Wmissing-prototypes]
> > > > > >
> > > > > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > > > > > Cc: Jiri Slaby <jirislaby@xxxxxxxxxx>
> > > > > > Cc: Mike Hudson <Exoray@xxxxxxx>
> > > > > > Cc: linux-serial@xxxxxxxxxxxxxxx
> > > > > > Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> > > > > > ---
> > > > > > drivers/tty/serial/8250/8250_port.c | 4 ++--
> > > > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > > >
> > > > > And now I get build errors of:
> > > > > ld: drivers/tty/serial/8250/8250_early.o: in function `early_au_setup':
> > > > > 8250_early.c:(.init.text+0x7): undefined reference to `au_serial_in'
> > > > > ld: 8250_early.c:(.init.text+0xf): undefined reference to `au_serial_out'
> > > > > make: *** [Makefile:1164: vmlinux] Error 1
> > > > >
> > > >
> > > > I *always* test build my sets before posting.
> > > >
> > > > /investigating
> > >
> > > What config failed for you?
> > >
> > > It looks as though SERIAL_8250_CONSOLE is a bool and doesn't appear to
> > > be compiled with allmodconfig builds for any architecture that I test
> > > against (Arm, Arm64, MIPS, PPC, x86).
> >
> > I build on x86, and here's what I have set:
> >
> > CONFIG_SERIAL_EARLYCON=y
> > CONFIG_SERIAL_8250=y
> > CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
> > CONFIG_SERIAL_8250_PNP=y
> > CONFIG_SERIAL_8250_16550A_VARIANTS=y
> > CONFIG_SERIAL_8250_FINTEK=y
> > CONFIG_SERIAL_8250_CONSOLE=y
> > CONFIG_SERIAL_8250_DMA=y
> > CONFIG_SERIAL_8250_PCI=y
> > CONFIG_SERIAL_8250_EXAR=y
> > CONFIG_SERIAL_8250_NR_UARTS=16
> > CONFIG_SERIAL_8250_RUNTIME_UARTS=8
> > CONFIG_SERIAL_8250_EXTENDED=y
> > # CONFIG_SERIAL_8250_MANY_PORTS is not set
> > # CONFIG_SERIAL_8250_SHARE_IRQ is not set
> > # CONFIG_SERIAL_8250_DETECT_IRQ is not set
> > # CONFIG_SERIAL_8250_RSA is not set
> > CONFIG_SERIAL_8250_DWLIB=y
> > CONFIG_SERIAL_8250_DW=m
> > CONFIG_SERIAL_8250_RT288X=y
> > CONFIG_SERIAL_8250_UNIPHIER=m
> > CONFIG_SERIAL_8250_LPSS=y
> > CONFIG_SERIAL_8250_MID=y
> > CONFIG_SERIAL_8250_TEGRA=m
>
> Is that from the default defconfig? Or something bespoke?

No idea, bespoke I guess, it's grown over the years as what I use for
testing the tty.git tree. Odd that I have some 8250 options turned off,
no idea why that is...

greg k-h