On Fri, 06 Nov 2020, Greg Kroah-Hartman wrote: > 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... Not as strange as this. I cannot recreate the issue or work out why: # THE OUTPUT # *_port.o and *_early.o were both built $ ls -l ../builds/build-x86/drivers/tty/serial/8250/ total 1196 -rw-rw-r-- 1 lee lee 36376 Nov 6 10:52 8250_aspeed_vuart.o -rw-rw-r-- 1 lee lee 17696 Nov 6 10:52 8250_bcm2835aux.o -rw-rw-r-- 1 lee lee 90896 Nov 6 10:52 8250_core.o -rw-rw-r-- 1 lee lee 34184 Nov 6 10:52 8250_dma.o -rw-rw-r-- 1 lee lee 11840 Nov 6 10:52 8250_dwlib.o -rw-rw-r-- 1 lee lee 50472 Nov 6 10:52 8250_dw.o -rw-rw-r-- 1 lee lee 16496 Nov 6 10:52 8250_early.o -rw-rw-r-- 1 lee lee 49376 Nov 6 10:52 8250_exar.o -rw-rw-r-- 1 lee lee 20256 Nov 6 10:52 8250_fintek.o -rw-rw-r-- 1 lee lee 26976 Nov 6 10:52 8250_ingenic.o -rw-rw-r-- 1 lee lee 18904 Nov 6 10:52 8250_lpc18xx.o -rw-rw-r-- 1 lee lee 21712 Nov 6 10:52 8250_lpss.o -rw-rw-r-- 1 lee lee 18768 Nov 6 10:52 8250_men_mcb.o -rw-rw-r-- 1 lee lee 25880 Nov 6 10:52 8250_mid.o -rw-rw-r-- 1 lee lee 30880 Nov 6 10:52 8250_of.o -rw-rw-r-- 1 lee lee 142776 Nov 6 10:52 8250_pci.o -rw-rw-r-- 1 lee lee 23240 Nov 6 10:52 8250_pnp.o -rw-rw-r-- 1 lee lee 214088 Nov 6 10:52 8250_port.o -rw-rw-r-- 1 lee lee 18992 Nov 6 10:52 8250_tegra.o -rw-rw-r-- 1 lee lee 23736 Nov 6 10:52 8250_uniphier.o -rw-rw-r-- 1 lee lee 1626 Nov 6 10:52 built-in.a -rw-rw-r-- 1 lee lee 0 Nov 6 10:52 modules.order -rw-rw-r-- 1 lee lee 94280 Nov 6 10:52 serial_cs.o # THE BUILD locally noclean x86 w1 drivers/tty debug Running locally ******************** * Building for X86 * ******************** rm -rf ../builds/build-x86/drivers/tty/ make -f Makefile -j24 KBUILD_OUTPUT=../builds/build-x86 allyesconfig make -f Makefile -j24 KBUILD_OUTPUT=../builds/build-x86 W=1 drivers/tty/ make[1]: Entering directory '/home/lee/projects/linux/builds/build-x86' SYNC include/config/auto.conf.cmd GEN Makefile GEN Makefile DESCEND objtool CALL scripts/atomic/check-atomics.sh CALL scripts/checksyscalls.sh CC drivers/tty/tty_io.o CC drivers/tty/n_tty.o CC drivers/tty/tty_ioctl.o CC drivers/tty/tty_ldisc.o CC drivers/tty/tty_buffer.o CC drivers/tty/tty_port.o CC drivers/tty/vt/vt_ioctl.o CC drivers/tty/tty_mutex.o CC drivers/tty/hvc/hvc_console.o CC drivers/tty/vt/selection.o CC drivers/tty/vt/vc_screen.o CC drivers/tty/hvc/hvc_irq.o CC drivers/tty/ipwireless/hardware.o CC drivers/tty/serdev/core.o CC drivers/tty/tty_ldsem.o CC drivers/tty/vt/keyboard.o CC drivers/tty/serdev/serdev-ttyport.o CC drivers/tty/hvc/hvc_xen.o CC drivers/tty/tty_baudrate.o CC drivers/tty/ipwireless/main.o CC drivers/tty/serial/serial_core.o CC drivers/tty/serial/8250/8250_core.o CC drivers/tty/serial/8250/8250_pnp.o CC drivers/tty/serial/jsm/jsm_driver.o CC drivers/tty/ipwireless/network.o CC drivers/tty/ipwireless/tty.o CC drivers/tty/serial/8250/8250_port.o CC drivers/tty/vt/consolemap.o CC drivers/tty/serial/jsm/jsm_neo.o CC drivers/tty/serial/8250/8250_dma.o HOSTCC drivers/tty/vt/conmakehash CC drivers/tty/tty_jobctrl.o CC drivers/tty/n_null.o CC drivers/tty/serial/8250/8250_dwlib.o CC drivers/tty/vt/vt.o AR drivers/tty/ipwireless/built-in.a CC drivers/tty/serial/jsm/jsm_tty.o CC drivers/tty/serial/jsm/jsm_cls.o CC drivers/tty/serial/earlycon.o CC drivers/tty/pty.o SHIPPED drivers/tty/vt/defkeymap.c CC drivers/tty/tty_audit.o CC drivers/tty/vt/defkeymap.o CONMK drivers/tty/vt/consolemap_deftbl.c CC drivers/tty/vt/consolemap_deftbl.o CC drivers/tty/serial/clps711x.o CC drivers/tty/serial/8250/8250_fintek.o AR drivers/tty/serial/jsm/built-in.a AR drivers/tty/hvc/built-in.a CC drivers/tty/serial/bcm63xx_uart.o CC drivers/tty/serial/8250/8250_pci.o CC drivers/tty/serial/samsung_tty.o CC drivers/tty/serial/8250/8250_exar.o CC drivers/tty/serial/max3100.o CC drivers/tty/serial/max310x.o CC drivers/tty/serial/lpc32xx_hs.o AR drivers/tty/serdev/built-in.a CC drivers/tty/serial/8250/serial_cs.o CC drivers/tty/serial/8250/8250_aspeed_vuart.o CC drivers/tty/sysrq.o CC drivers/tty/n_hdlc.o CC drivers/tty/n_gsm.o CC drivers/tty/n_tracerouter.o CC drivers/tty/n_tracesink.o CC drivers/tty/serial/8250/8250_bcm2835aux.o CC drivers/tty/serial/sh-sci.o CC drivers/tty/cyclades.o CC drivers/tty/serial/imx.o CC drivers/tty/serial/imx_earlycon.o CC drivers/tty/serial/8250/8250_early.o CC drivers/tty/serial/8250/8250_men_mcb.o CC drivers/tty/isicom.o CC drivers/tty/moxa.o CC drivers/tty/serial/8250/8250_dw.o AR drivers/tty/vt/built-in.a CC drivers/tty/mxser.o CC drivers/tty/serial/sccnxp.o CC drivers/tty/serial/8250/8250_lpc18xx.o CC drivers/tty/serial/sc16is7xx.o CC drivers/tty/serial/8250/8250_uniphier.o CC drivers/tty/serial/atmel_serial.o CC drivers/tty/serial/uartlite.o CC drivers/tty/serial/8250/8250_ingenic.o CC drivers/tty/serial/qcom_geni_serial.o CC drivers/tty/serial/8250/8250_lpss.o CC drivers/tty/serial/8250/8250_mid.o CC drivers/tty/nozomi.o CC drivers/tty/ttynull.o CC drivers/tty/rocket.o CC drivers/tty/synclink_gt.o CC drivers/tty/serial/8250/8250_tegra.o CC drivers/tty/serial/8250/8250_of.o CC drivers/tty/goldfish.o CC drivers/tty/serial/altera_uart.o CC drivers/tty/serial/st-asc.o CC drivers/tty/serial/ucc_uart.o CC drivers/tty/serial/timbuart.o CC drivers/tty/serial/altera_jtaguart.o CC drivers/tty/serial/ifx6x60.o CC drivers/tty/serial/pch_uart.o CC drivers/tty/serial/mxs-auart.o CC drivers/tty/serial/lantiq.o AR drivers/tty/serial/8250/built-in.a CC drivers/tty/serial/xilinx_uartps.o CC drivers/tty/serial/arc_uart.o CC drivers/tty/serial/rp2.o CC drivers/tty/serial/fsl_lpuart.o CC drivers/tty/serial/fsl_linflexuart.o CC drivers/tty/serial/digicolor-usart.o CC drivers/tty/serial/men_z135_uart.o CC drivers/tty/serial/sprd_serial.o CC drivers/tty/serial/stm32-usart.o CC drivers/tty/serial/mvebu-uart.o CC drivers/tty/serial/mps2-uart.o CC drivers/tty/serial/owl-uart.o CC drivers/tty/serial/rda-uart.o CC drivers/tty/serial/milbeaut_usio.o CC drivers/tty/serial/sifive.o CC drivers/tty/serial/serial_mctrl_gpio.o CC drivers/tty/serial/kgdb_nmi.o CC drivers/tty/serial/kgdboc.o AR drivers/tty/serial/built-in.a AR drivers/tty/built-in.a make[1]: Leaving directory '/home/lee/projects/linux/builds/build-x86' ****************************** * Checking for SPARSE errors * ****************************** make -f Makefile -j24 KBUILD_OUTPUT=../builds/build-x86 C=1 W=1 drivers/tty/ make[1]: Entering directory '/home/lee/projects/linux/builds/build-x86' GEN Makefile DESCEND objtool CALL scripts/atomic/check-atomics.sh CALL scripts/checksyscalls.sh make[1]: Leaving directory '/home/lee/projects/linux/builds/build-x86' ****************************** * Checking for SMATCH errors * * TODO: stdout => stderr * ****************************** make -f Makefile -j24 KBUILD_OUTPUT=../builds/build-x86 C=1 CHECK='smatch --no-data -p=kernel' W=1 drivers/tty/ make[1]: Entering directory '/home/lee/projects/linux/builds/build-x86' GEN Makefile DESCEND objtool CALL scripts/atomic/check-atomics.sh CALL scripts/checksyscalls.sh make[1]: Leaving directory '/home/lee/projects/linux/builds/build-x86' -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog