2023-02-26 15:16:51

by Tom Rix

[permalink] [raw]
Subject: [PATCH v2] tty: serial: fsl_lpuart: select SERIAL_FSL_LPUART for SERIAL_FSL_LPUART_CONSOLE

A rand config causes this link error
ld: drivers/tty/serial/earlycon.o: in function `parse_options':
drivers/tty/serial/earlycon.c:99: undefined reference to `uart_parse_earlycon'

The rand config has
CONFIG_SERIAL_CORE=m
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_FSL_LPUART=m
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y

SERIAL_FSL_LPUART should have been selected instead of depends on-ed.

After applying the configs are
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y

Signed-off-by: Tom Rix <[email protected]>
---
v2: Add how the configs changed to commit log
---
drivers/tty/serial/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 625358f44419..b24d74d389fc 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1313,7 +1313,7 @@ config SERIAL_FSL_LPUART

config SERIAL_FSL_LPUART_CONSOLE
bool "Console on Freescale lpuart serial port"
- depends on SERIAL_FSL_LPUART
+ select SERIAL_FSL_LPUART
select SERIAL_CORE_CONSOLE
select SERIAL_EARLYCON
help
--
2.27.0



2023-02-26 15:45:11

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v2] tty: serial: fsl_lpuart: select SERIAL_FSL_LPUART for SERIAL_FSL_LPUART_CONSOLE

Hi Tom,

[adding the recent commit signers]

On 2/26/23 06:54, Tom Rix wrote:
> A rand config causes this link error
> ld: drivers/tty/serial/earlycon.o: in function `parse_options':
> drivers/tty/serial/earlycon.c:99: undefined reference to `uart_parse_earlycon'
>
> The rand config has
> CONFIG_SERIAL_CORE=m
> CONFIG_SERIAL_EARLYCON=y
> CONFIG_SERIAL_FSL_LPUART=m
> CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
>
> SERIAL_FSL_LPUART should have been selected instead of depends on-ed.
>
> After applying the configs are
> CONFIG_SERIAL_CORE=y
> CONFIG_SERIAL_EARLYCON=y
> CONFIG_SERIAL_FSL_LPUART=y
> CONFIG_SERIAL_FSL_LPUART_CONSOLE=y

This works, but I thought that the point of the recent patch was to make the driver modular.

You said:
"commit 5779a072c248db7a40cfd0f5ea958097fd1d9a30 removed the =y. so it could be built as a module."

That's not the same as what is happening here.

I think it would be better to revert the commit mentioned above.

> Signed-off-by: Tom Rix <[email protected]>
> ---
> v2: Add how the configs changed to commit log
> ---
> drivers/tty/serial/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index 625358f44419..b24d74d389fc 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1313,7 +1313,7 @@ config SERIAL_FSL_LPUART
>
> config SERIAL_FSL_LPUART_CONSOLE
> bool "Console on Freescale lpuart serial port"
> - depends on SERIAL_FSL_LPUART
> + select SERIAL_FSL_LPUART
> select SERIAL_CORE_CONSOLE
> select SERIAL_EARLYCON
> help

--
~Randy

2023-02-26 16:47:16

by Tom Rix

[permalink] [raw]
Subject: Re: [PATCH v2] tty: serial: fsl_lpuart: select SERIAL_FSL_LPUART for SERIAL_FSL_LPUART_CONSOLE


On 2/26/23 7:44 AM, Randy Dunlap wrote:
> Hi Tom,
>
> [adding the recent commit signers]
>
> On 2/26/23 06:54, Tom Rix wrote:
>> A rand config causes this link error
>> ld: drivers/tty/serial/earlycon.o: in function `parse_options':
>> drivers/tty/serial/earlycon.c:99: undefined reference to `uart_parse_earlycon'
>>
>> The rand config has
>> CONFIG_SERIAL_CORE=m
>> CONFIG_SERIAL_EARLYCON=y
>> CONFIG_SERIAL_FSL_LPUART=m
>> CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
>>
>> SERIAL_FSL_LPUART should have been selected instead of depends on-ed.
>>
>> After applying the configs are
>> CONFIG_SERIAL_CORE=y
>> CONFIG_SERIAL_EARLYCON=y
>> CONFIG_SERIAL_FSL_LPUART=y
>> CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
> This works, but I thought that the point of the recent patch was to make the driver modular.
>
> You said:
> "commit 5779a072c248db7a40cfd0f5ea958097fd1d9a30 removed the =y. so it could be built as a module."
>
> That's not the same as what is happening here.

As you pointed out SERIAL_FSL_LPUART is not tristate so the it likely
never worked to be modular.

Let me fiddle a bit with this and see, if it doesn't work, I'll submit
the revert.

Tom

>
> I think it would be better to revert the commit mentioned above.
>
>> Signed-off-by: Tom Rix <[email protected]>
>> ---
>> v2: Add how the configs changed to commit log
>> ---
>> drivers/tty/serial/Kconfig | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
>> index 625358f44419..b24d74d389fc 100644
>> --- a/drivers/tty/serial/Kconfig
>> +++ b/drivers/tty/serial/Kconfig
>> @@ -1313,7 +1313,7 @@ config SERIAL_FSL_LPUART
>>
>> config SERIAL_FSL_LPUART_CONSOLE
>> bool "Console on Freescale lpuart serial port"
>> - depends on SERIAL_FSL_LPUART
>> + select SERIAL_FSL_LPUART
>> select SERIAL_CORE_CONSOLE
>> select SERIAL_EARLYCON
>> help