Re: [PATCH v2] serial: 8250: Apply FSL workarounds also without SERIAL_8250_CONSOLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux