linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/1] serial: 8250_ce4100: Fix CONFIG_SERIAL_8250=n build
@ 2025-07-16 14:23 Andy Shevchenko
  2025-07-16 19:16 ` Randy Dunlap
  0 siblings, 1 reply; 2+ messages in thread
From: Andy Shevchenko @ 2025-07-16 14:23 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel, linux-serial
  Cc: Jiri Slaby, Andy Shevchenko, Randy Dunlap

On i386, when

  CONFIG_X86_INTEL_CE=y
  # CONFIG_SERIAL_8250 is not set

it will try to compile the driver and use the stub simultaneously.
This breaks the build. Fix it by making sure that the driver
compiles only when CONFIG_SERIAL_8250 is also enabled.

On top of that ensure that CONFIG_SERIAL_8250 is actually set to 'y'
and not 'm' as the later makes no sense for this platform. The hook
may only be applied during early boot.

Fixes: acc902de05b2 ("serial: 8250: Move CE4100 quirks to a module under 8250 driver")
Fixes: 5ec6960f6f0c ("ce4100: Add errata fixes for UART on CE4100")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/r/cdf4ee46-7bf8-4379-9245-fed9db72e7e8@infradead.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---

v2: made the fix more readable (Jiri)

 drivers/tty/serial/8250/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
index e61dc3f4ca50..513a0941c284 100644
--- a/drivers/tty/serial/8250/Makefile
+++ b/drivers/tty/serial/8250/Makefile
@@ -24,7 +24,9 @@ obj-$(CONFIG_SERIAL_8250_ASPEED_VUART)	+= 8250_aspeed_vuart.o
 obj-$(CONFIG_SERIAL_8250_BCM2835AUX)	+= 8250_bcm2835aux.o
 obj-$(CONFIG_SERIAL_8250_BCM7271)	+= 8250_bcm7271.o
 obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
+ifeq ($(CONFIG_SERIAL_8250),y)
 obj-$(CONFIG_X86_INTEL_CE)		+= 8250_ce4100.o
+endif
 obj-$(CONFIG_SERIAL_8250_DFL)		+= 8250_dfl.o
 obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
 obj-$(CONFIG_SERIAL_8250_EM)		+= 8250_em.o
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2 1/1] serial: 8250_ce4100: Fix CONFIG_SERIAL_8250=n build
  2025-07-16 14:23 [PATCH v2 1/1] serial: 8250_ce4100: Fix CONFIG_SERIAL_8250=n build Andy Shevchenko
@ 2025-07-16 19:16 ` Randy Dunlap
  0 siblings, 0 replies; 2+ messages in thread
From: Randy Dunlap @ 2025-07-16 19:16 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, linux-kernel, linux-serial
  Cc: Jiri Slaby



On 7/16/25 7:23 AM, Andy Shevchenko wrote:
> On i386, when
> 
>   CONFIG_X86_INTEL_CE=y
>   # CONFIG_SERIAL_8250 is not set
> 
> it will try to compile the driver and use the stub simultaneously.
> This breaks the build. Fix it by making sure that the driver
> compiles only when CONFIG_SERIAL_8250 is also enabled.
> 
> On top of that ensure that CONFIG_SERIAL_8250 is actually set to 'y'
> and not 'm' as the later makes no sense for this platform. The hook
> may only be applied during early boot.
> 
> Fixes: acc902de05b2 ("serial: 8250: Move CE4100 quirks to a module under 8250 driver")
> Fixes: 5ec6960f6f0c ("ce4100: Add errata fixes for UART on CE4100")
> Reported-by: Randy Dunlap <rdunlap@infradead.org>
> Closes: https://lore.kernel.org/r/cdf4ee46-7bf8-4379-9245-fed9db72e7e8@infradead.org
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

This solution works but it seems quite hidden to me. I would rather see
a Kconfig solution, like Jiri mentioned.

Anyway,
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>


Thanks.

> ---
> 
> v2: made the fix more readable (Jiri)
> 
>  drivers/tty/serial/8250/Makefile | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
> index e61dc3f4ca50..513a0941c284 100644
> --- a/drivers/tty/serial/8250/Makefile
> +++ b/drivers/tty/serial/8250/Makefile
> @@ -24,7 +24,9 @@ obj-$(CONFIG_SERIAL_8250_ASPEED_VUART)	+= 8250_aspeed_vuart.o
>  obj-$(CONFIG_SERIAL_8250_BCM2835AUX)	+= 8250_bcm2835aux.o
>  obj-$(CONFIG_SERIAL_8250_BCM7271)	+= 8250_bcm7271.o
>  obj-$(CONFIG_SERIAL_8250_BOCA)		+= 8250_boca.o
> +ifeq ($(CONFIG_SERIAL_8250),y)
>  obj-$(CONFIG_X86_INTEL_CE)		+= 8250_ce4100.o
> +endif
>  obj-$(CONFIG_SERIAL_8250_DFL)		+= 8250_dfl.o
>  obj-$(CONFIG_SERIAL_8250_DW)		+= 8250_dw.o
>  obj-$(CONFIG_SERIAL_8250_EM)		+= 8250_em.o

-- 
~Randy

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-07-16 19:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-16 14:23 [PATCH v2 1/1] serial: 8250_ce4100: Fix CONFIG_SERIAL_8250=n build Andy Shevchenko
2025-07-16 19:16 ` Randy Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).