diff mbox series

tty: serial: fsl_lpuart: select SERIAL_FSL_LPUART for SERIAL_FSL_LPUART_CONSOLE

Message ID 20230225173949.651311-1-trix@redhat.com
State Superseded
Headers show
Series tty: serial: fsl_lpuart: select SERIAL_FSL_LPUART for SERIAL_FSL_LPUART_CONSOLE | expand

Commit Message

Tom Rix Feb. 25, 2023, 5:39 p.m. UTC
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.

Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/tty/serial/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Randy Dunlap Feb. 25, 2023, 5:46 p.m. UTC | #1
Hi--

On 2/25/23 09:39, 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.
> 
> Signed-off-by: Tom Rix <trix@redhat.com>
> ---
>  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

Most other _CONSOLE Kconfig have:

	depends on SERIAL_FSL_LPUART=y

e.g.

but I noticed a few others with a similar problem.

>  	select SERIAL_CORE_CONSOLE
>  	select SERIAL_EARLYCON
>  	help
Tom Rix Feb. 25, 2023, 5:51 p.m. UTC | #2
On 2/25/23 9:46 AM, Randy Dunlap wrote:
> Hi--
>
> On 2/25/23 09:39, 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.
>>
>> Signed-off-by: Tom Rix <trix@redhat.com>
>> ---
>>   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
> Most other _CONSOLE Kconfig have:
>
> 	depends on SERIAL_FSL_LPUART=y

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

Tom

>
> e.g.
>
> but I noticed a few others with a similar problem.
>
>>   	select SERIAL_CORE_CONSOLE
>>   	select SERIAL_EARLYCON
>>   	help
Randy Dunlap Feb. 25, 2023, 6:03 p.m. UTC | #3
On 2/25/23 09:51, Tom Rix wrote:
> 
> On 2/25/23 9:46 AM, Randy Dunlap wrote:
>> Hi--
>>
>> On 2/25/23 09:39, 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.
>>>
>>> Signed-off-by: Tom Rix <trix@redhat.com>
>>> ---
>>>   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
>> Most other _CONSOLE Kconfig have:
>>
>>     depends on SERIAL_FSL_LPUART=y
> 
> commit 5779a072c248db7a40cfd0f5ea958097fd1d9a30 removed the =y. so it could be built as a module.
> 

uh. But it's still a bool, not a tristate. How does that work?

> 
>>
>> e.g.
>>
>> but I noticed a few others with a similar problem.
>>
>>>       select SERIAL_CORE_CONSOLE
>>>       select SERIAL_EARLYCON
>>>       help
>
Randy Dunlap Feb. 25, 2023, 6:16 p.m. UTC | #4
On 2/25/23 10:03, Randy Dunlap wrote:
> 
> 
> On 2/25/23 09:51, Tom Rix wrote:
>>
>> On 2/25/23 9:46 AM, Randy Dunlap wrote:
>>> Hi--
>>>
>>> On 2/25/23 09:39, 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.
>>>>
>>>> Signed-off-by: Tom Rix <trix@redhat.com>
>>>> ---
>>>>   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
>>> Most other _CONSOLE Kconfig have:
>>>
>>>     depends on SERIAL_FSL_LPUART=y
>>
>> commit 5779a072c248db7a40cfd0f5ea958097fd1d9a30 removed the =y. so it could be built as a module.
>>
> 
> uh. But it's still a bool, not a tristate. How does that work?

OK, I see. :)

Well, I don't see another decent solution ATM.

Tom, does your patch fix the build error?

What are the listed CONFIG settings after the patch?

Thanks.

>>> e.g.
>>>
>>> but I noticed a few others with a similar problem.
>>>
>>>>       select SERIAL_CORE_CONSOLE
>>>>       select SERIAL_EARLYCON
>>>>       help
>>
>
Randy Dunlap Feb. 25, 2023, 6:38 p.m. UTC | #5
On 2/25/23 10:16, Randy Dunlap wrote:
> 
> 
> On 2/25/23 10:03, Randy Dunlap wrote:
>>
>>
>> On 2/25/23 09:51, Tom Rix wrote:
>>>
>>> On 2/25/23 9:46 AM, Randy Dunlap wrote:
>>>> Hi--
>>>>
>>>> On 2/25/23 09:39, 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.
>>>>>
>>>>> Signed-off-by: Tom Rix <trix@redhat.com>
>>>>> ---
>>>>>   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
>>>> Most other _CONSOLE Kconfig have:
>>>>
>>>>     depends on SERIAL_FSL_LPUART=y
>>>
>>> commit 5779a072c248db7a40cfd0f5ea958097fd1d9a30 removed the =y. so it could be built as a module.
>>>
>>
>> uh. But it's still a bool, not a tristate. How does that work?
> 
> OK, I see. :)
> 
> Well, I don't see another decent solution ATM.
> 
> Tom, does your patch fix the build error?
> 
> What are the listed CONFIG settings after the patch?

OK, after I apply the patch, all of the listed config symbols are
changed to =y (builtin), so not built as a loadable module.

Do you see something different?


>>>> e.g.
>>>>
>>>> but I noticed a few others with a similar problem.
>>>>
>>>>>       select SERIAL_CORE_CONSOLE
>>>>>       select SERIAL_EARLYCON
>>>>>       help
>>>
>>
>
Tom Rix Feb. 26, 2023, 3:02 p.m. UTC | #6
On 2/25/23 10:38 AM, Randy Dunlap wrote:
>
> On 2/25/23 10:16, Randy Dunlap wrote:
>>
>> On 2/25/23 10:03, Randy Dunlap wrote:
>>>
>>> On 2/25/23 09:51, Tom Rix wrote:
>>>> On 2/25/23 9:46 AM, Randy Dunlap wrote:
>>>>> Hi--
>>>>>
>>>>> On 2/25/23 09:39, 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.
>>>>>>
>>>>>> Signed-off-by: Tom Rix <trix@redhat.com>
>>>>>> ---
>>>>>>    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
>>>>> Most other _CONSOLE Kconfig have:
>>>>>
>>>>>      depends on SERIAL_FSL_LPUART=y
>>>> commit 5779a072c248db7a40cfd0f5ea958097fd1d9a30 removed the =y. so it could be built as a module.
>>>>
>>> uh. But it's still a bool, not a tristate. How does that work?
>> OK, I see. :)
>>
>> Well, I don't see another decent solution ATM.
>>
>> Tom, does your patch fix the build error?
>>
>> What are the listed CONFIG settings after the patch?
> OK, after I apply the patch, all of the listed config symbols are
> changed to =y (builtin), so not built as a loadable module.
>
> Do you see something different?

No, all y's.

Since the showing the after state is useful, I added it to v2

>
>
>>>>> e.g.
>>>>>
>>>>> but I noticed a few others with a similar problem.
>>>>>
>>>>>>        select SERIAL_CORE_CONSOLE
>>>>>>        select SERIAL_EARLYCON
>>>>>>        help
diff mbox series

Patch

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