On Thu, 1 Jun 2023, Ilpo Järvinen wrote: > On Wed, 31 May 2023, Uwe Kleine-König wrote: > > > Hello Ilpo, > > > > On Wed, May 31, 2023 at 12:40:10PM +0200, Uwe Kleine-König wrote: > > > On Wed, May 31, 2023 at 01:09:01PM +0300, Ilpo Järvinen wrote: > > > > On Wed, 31 May 2023, Uwe Kleine-König wrote: > > > > > > > > > On Wed, May 31, 2023 at 12:47:54PM +0300, Ilpo Järvinen wrote: > > > > > > On Wed, 31 May 2023, Uwe Kleine-König wrote: > > > > > > > > > > > > > The need to handle the FSL variant of 8250 in a special way is also > > > > > > > present without console support. So soften the dependency for > > > > > > > SERIAL_8250_FSL accordingly. > > > > > > > > > > > > > > This issue was identified by Dominik Andreas Schorpp. > > > > > > > > > > > > > > To cope for CONFIG_SERIAL_8250=m + CONFIG_SERIAL_8250_FSL=y, 8250_fsl.o > > > > > > > must be put in the same compilation unit as 8250_port.o because the > > > > > > > latter defines some functions needed in the former and so 8250_fsl.o > > > > > > > must not be built-in if 8250_port.o is available in a module. > > > > > > > > > > > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > > > > > > > --- > > > > > > > Hello, > > > > > > > > > > > > > > (implicit) v1 was already applied by Greg (a0807ca158e0 in tty-testing) > > > > > > > but that didn't handle CONFIG_SERIAL_8250=m + CONFIG_SERIAL_8250_FSL=y > > > > > > > correctly which was pointed out by the 0-day bot. (Thanks!) > > > > > > > > > > > > That would warrant Reported-by (0-day's reports give you the tag). > > > > > > > > > > I'd add this tag if I created a commit that fixes the broken commit. > > > > > However I understood that if a v2 patch fixes a v1 that was broken, the > > > > > tag is not to be added?! I don't feel strong here however, so if people > > > > > agree that the tag should be there, I can add it. > > > > > > > > > > > > That wasn't a problem before because SERIAL_8250_CONSOLE depends on > > > > > > > SERIAL_8250=y. > > > > > > > > > > > > > > Having said that I wonder if there are a few more .o files that should > > > > > > > better be used with 8250_base-$(CONFIG_SERIAL_8250_XXX) instead of > > > > > > > obj-$(CONFIG_SERIAL_8250_XXX). > > > > > > > > > > > > > > Best regards > > > > > > > Uwe > > > > > > > > > > > > > > drivers/tty/serial/8250/Kconfig | 2 +- > > > > > > > drivers/tty/serial/8250/Makefile | 2 +- > > > > > > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > > > > > > > > > > > diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig > > > > > > > index 5313aa31930f..10c09b19c871 100644 > > > > > > > --- a/drivers/tty/serial/8250/Kconfig > > > > > > > +++ b/drivers/tty/serial/8250/Kconfig > > > > > > > @@ -378,7 +378,7 @@ config SERIAL_8250_BCM2835AUX > > > > > > > > > > > > > > config SERIAL_8250_FSL > > > > > > > bool "Freescale 16550 UART support" if COMPILE_TEST && !(PPC || ARM || ARM64) > > > > > > > - depends on SERIAL_8250_CONSOLE > > > > > > > + depends on SERIAL_8250 > > > > > > > > > > > > Why this cannot simply be: > > > > > > depends on SERIAL_8250=y > > > > > > > > > > This doesn't work, because then the FSL-workarounds are missing if the > > > > > 8250 driver is compiled as a module. > > > > > > > > How can 8250 driver be a module and fsl still get enabled? > > > > > > It works. With my patch applied: > > > > > > $ make allmodconfig > > > $ grep -E 'CONFIG_SERIAL_8250(_FSL)?\>' .config > > > CONFIG_SERIAL_8250=m > > > CONFIG_SERIAL_8250_FSL=y > > > > > > > What I think (not a Kconfig expert for sure) would happen is that 8250_fsl > > > > won't be enabled at all if CONFIG_SERIAL_8250=m because it depends on > > > > SERIAL_8250=y. > > > > > > That's not how it seems to be ... > > > > If this convinces you that the patch is fine, an ack would be nice as > > gregkh signaled that there is some pending discussion he is waiting to > > end before applying this patch. > > Ah, so you want to have SERIAL_8250_FSL=y always when SERIAL_8250 is > there. I can't see another way around it besides the moving you made. > > Acked-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> After some more thinking, it looks make allmodconfig is not going to work because of this: arch/powerpc/kernel/legacy_serial.c: port->handle_irq = fsl8250_handle_irq; obj-$(CONFIG_PPC_UDBG_16550) += legacy_serial.o udbg_16550.o config PPC_UDBG_16550 bool -- i.