Re: [PATCH] serial: fix Kconfig for Freescale 16550

From: Michael Neuling
Date: Mon Dec 12 2011 - 21:59:19 EST


In message <20111213024738.GA17663@xxxxxxxxxxxxx> you wrote:
> [Re: [PATCH] serial: fix Kconfig for Freescale 16550] On 13/12/2011 (Tue 12:5
3) Michael Neuling wrote:
>
> > In message <20111213005444.GA27190@xxxxxxx> you wrote:
>
> [...]
>
> > > Then you can't select SERIAL_8250 as a module at all, right?
> >
> > Correct, unless SERIAL_8250_FOL=n of course.
> >
> > > Perhaps you should allow SERIAL_8250_FSL to be a module as well here?
> > > So changing the bool to a tristate should be the correct option? Can
> > > you try that?
> >
> > Yep, that works also. New patch below.
> >
> > This should probably be aced by Paul to ensure he's cool with it being
> > a module now.
>
> This will still be broken, but in a different place and for different
> boards. [The legacy_serial.c won't link for 8250=m on FSL boards.]
>
> I think your original fix was closer to the right one. Let me expand
> on that. This thing isn't a real stand alone driver. It is an errata
> fix that is specific to Freescale boards, and only is relevant in fixing
> magic SysRQ functionality on the serial console. The Freescale boards
> are almost exclusively headless, with a serial console interface to
> u-boot as the only way to do initial interaction with the board at
> bootup. So having serial as a module on these boards is largely
> academic. (But if you want modular serial, you still can, and you
> dont need the errata fix for that.)
>
> So, with all that in mind, I think this is the right fix. I'll launch
> some build coverage against it, but it seems straightforward. Thanks
> for the report, and sorry for catching pmac in the fallout.
>
> Paul.
> ---
>
> From 675520f2d175bd71bf857b75a5a9b5a08ee0ee54 Mon Sep 17 00:00:00 2001
> From: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
> Date: Mon, 12 Dec 2011 21:18:15 -0500
> Subject: [PATCH] serial: make FSL errata depend on 8250_CONSOLE, not just
> 8250
>
> The recent commit "serial: add irq handler for Freescale 16550 errata"
> would allow Kconfig choices that had 8250 support as a module and
> yet still try and build in the errata fix non-modular, resulting
> in build failures for some non-embedded PPC targets.
>
> Since we hook in the errata fix from legacy_serial.c, which is
> built only for PPC_UDBG_16550, and since the errata is only really
> relevant for SysRQ on serial console, tighten up the dependencies
> to be exactly that.
>
> We'll get coverage on the relevant Freescale boards because the
> Kconfig for their CPU types all select the PPC_UDBG_16550 option,
> and the defconfigs also all select the 8250_CONSOLE option. Also,
> the 8250_CONSOLE option has a strict dependency on "SERIAL_8250=y"
> which resolves the reported problem for non Freescale targets.
>
> Reported-by: Michael Neuling <mikey@xxxxxxxxxxx>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>

Works here for me (although it still seems like a Kconfig bug).

Tested-by: Michael Neuling <mikey@xxxxxxxxxxx>

>
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index aa46993..5c46e90 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -99,7 +99,7 @@ config SERIAL_8250_PNP
>
> config SERIAL_8250_FSL
> bool
> - depends on SERIAL_8250 && PPC
> + depends on SERIAL_8250_CONSOLE && PPC_UDBG_16550
> default PPC
>
> config SERIAL_8250_HP300
> --
> 1.7.7
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/