serial: 8250: Fix add preferred console for serial8250_isa_init_ports()
authorTony Lindgren <tony@atomide.com>
Thu, 11 Apr 2024 08:06:20 +0000 (11:06 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Apr 2024 12:08:27 +0000 (14:08 +0200)
We need to inline serial_base_add_isa_preferred_console()  based on
CONFIG_SERIAL_8250_CONSOLE and not based on CONFIG_SERIAL_CORE_CONSOLE.
Otherwise we can get the follwoing error as noted by Stephen:

ERROR: modpost: "serial_base_add_isa_preferred_console"
[drivers/tty/serial/8250/8250.ko] undefined!

We also have a duplicate inlined serial_base_add_isa_preferred_console(),
in serial_base_bus.c added by the same commit by accident, let's drop it.

Fixes: a8b04cfe7dad ("serial: 8250: Add preferred console in serial8250_isa_init_ports()")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20240411080622.11929-1-tony@atomide.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial_base.h
drivers/tty/serial/serial_base_bus.c

index 39dab6bd4b76babf3b85975b2c2a72305248bdc4..ab6f1876726c2fdc396da36258a9d320a2cd80be 100644 (file)
@@ -51,8 +51,6 @@ void serial_core_unregister_port(struct uart_driver *drv, struct uart_port *port
 int serial_base_add_preferred_console(struct uart_driver *drv,
                                      struct uart_port *port);
 
-int serial_base_add_isa_preferred_console(const char *name, int idx);
-
 #else
 
 static inline
@@ -62,6 +60,14 @@ int serial_base_add_preferred_console(struct uart_driver *drv,
        return 0;
 }
 
+#endif
+
+#ifdef CONFIG_SERIAL_8250_CONSOLE
+
+int serial_base_add_isa_preferred_console(const char *name, int idx);
+
+#else
+
 static inline
 int serial_base_add_isa_preferred_console(const char *name, int idx)
 {
index ae18871c0f3641d4829b660efff6055fa3b56647..281a2d5a7332328808e12665e3cc3db881def5b2 100644 (file)
@@ -219,6 +219,8 @@ static int serial_base_add_one_prefcon(const char *match, const char *dev_name,
        return ret;
 }
 
+#endif
+
 #ifdef __sparc__
 
 /* Handle Sparc ttya and ttyb options as done in console_setup() */
@@ -329,15 +331,6 @@ int serial_base_add_isa_preferred_console(const char *name, int idx)
        return serial_base_add_prefcon(name, idx);
 }
 
-#else
-
-int serial_base_add_isa_preferred_console(const char *name, int idx)
-{
-       return 0;
-}
-
-#endif
-
 #endif
 
 static int serial_base_init(void)