Message ID | 20210805000216.31833-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | Accepted |
Commit | ad548993a66c498267695edd8b19a682be0e3a8b |
Headers | show |
Series | MIPS: loongson2ef: don't build serial.o unconditionally | expand |
On Wed, Aug 04, 2021 at 05:02:16PM -0700, Randy Dunlap wrote: > LOONGSON_UART_BASE depends on EARLY_PRINTK || SERIAL_8250, but when > neither of these Kconfig symbols is set, the kernel build has errors: > > ../arch/mips/loongson2ef/common/serial.c: In function 'serial_init': > ../arch/mips/loongson2ef/common/serial.c:66:25: error: 'loongson_uart_base' undeclared (first use in this function) > 66 | loongson_uart_base; > ../arch/mips/loongson2ef/common/serial.c:66:25: note: each undeclared identifier is reported only once for each function it appears in > ../arch/mips/loongson2ef/common/serial.c:68:41: error: '_loongson_uart_base' undeclared (first use in this function) > 68 | (void __iomem *)_loongson_uart_base; > > Fix this by building serial.o only when one (or both) of these > Kconfig symbols is enabled. > > Tested with: > (a) EARLY_PRINTK=y, SERIAL_8250 not set; > (b) EARLY_PRINTK=y, SERIAL_8250=y; > (c) EARLY_PRINTK=y, SERIAL_8250=m. > (d) EARLY_PRINTK not set, SERIAL_8250=y; > (e) EARLY_PRINTK not set, SERIAL_8250=m; > (f) EARLY_PRINTK not set, SERIAL_8250 not set. > > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> > Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: linux-mips@vger.kernel.org > --- > arch/mips/loongson2ef/common/Makefile | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) applied to mips-next. Thomas.
--- linext-20210803.orig/arch/mips/loongson2ef/common/Makefile +++ linext-20210803/arch/mips/loongson2ef/common/Makefile @@ -4,12 +4,14 @@ # obj-y += setup.o init.o env.o time.o reset.o irq.o \ - bonito-irq.o mem.o machtype.o platform.o serial.o + bonito-irq.o mem.o machtype.o platform.o obj-$(CONFIG_PCI) += pci.o # # Serial port support # +obj-$(CONFIG_LOONGSON_UART_BASE) += serial.o +obj-$(CONFIG_EARLY_PRINTK) += serial.o obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o obj-$(CONFIG_LOONGSON_MC146818) += rtc.o
LOONGSON_UART_BASE depends on EARLY_PRINTK || SERIAL_8250, but when neither of these Kconfig symbols is set, the kernel build has errors: ../arch/mips/loongson2ef/common/serial.c: In function 'serial_init': ../arch/mips/loongson2ef/common/serial.c:66:25: error: 'loongson_uart_base' undeclared (first use in this function) 66 | loongson_uart_base; ../arch/mips/loongson2ef/common/serial.c:66:25: note: each undeclared identifier is reported only once for each function it appears in ../arch/mips/loongson2ef/common/serial.c:68:41: error: '_loongson_uart_base' undeclared (first use in this function) 68 | (void __iomem *)_loongson_uart_base; Fix this by building serial.o only when one (or both) of these Kconfig symbols is enabled. Tested with: (a) EARLY_PRINTK=y, SERIAL_8250 not set; (b) EARLY_PRINTK=y, SERIAL_8250=y; (c) EARLY_PRINTK=y, SERIAL_8250=m. (d) EARLY_PRINTK not set, SERIAL_8250=y; (e) EARLY_PRINTK not set, SERIAL_8250=m; (f) EARLY_PRINTK not set, SERIAL_8250 not set. Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: kernel test robot <lkp@intel.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: linux-mips@vger.kernel.org --- arch/mips/loongson2ef/common/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)