Skip to content

Commit

Permalink
Revert "serial: core: Add support for DEVNAME:0.0 style naming for ke…
Browse files Browse the repository at this point in the history
…rnel console"

This reverts commit 787a1ca.

Let's roll back all of the serial core and printk console changes that
went into 6.10-rc1 as there still are problems with them that need to be
sorted out.

Link: https://lore.kernel.org/r/ZnpRozsdw6zbjqze@tlindgre-MOBL1
Reported-by: Petr Mladek <pmladek@suse.com>
Reported-by: Tony Lindgren <tony@atomide.com>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
gregkh committed Jun 25, 2024
1 parent e406c56 commit a5e4bb6
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 86 deletions.
16 changes: 0 additions & 16 deletions drivers/tty/serial/serial_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,19 +49,3 @@ void serial_ctrl_unregister_port(struct uart_driver *drv, struct uart_port *port

int serial_core_register_port(struct uart_driver *drv, struct uart_port *port);
void serial_core_unregister_port(struct uart_driver *drv, struct uart_port *port);

#ifdef CONFIG_SERIAL_CORE_CONSOLE

int serial_base_add_preferred_console(struct uart_driver *drv,
struct uart_port *port);

#else

static inline
int serial_base_add_preferred_console(struct uart_driver *drv,
struct uart_port *port)
{
return 0;
}

#endif
66 changes: 0 additions & 66 deletions drivers/tty/serial/serial_base_bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
* The serial core bus manages the serial core controller instances.
*/

#include <linux/cleanup.h>
#include <linux/container_of.h>
#include <linux/device.h>
#include <linux/idr.h>
Expand Down Expand Up @@ -205,71 +204,6 @@ void serial_base_port_device_remove(struct serial_port_device *port_dev)
put_device(&port_dev->dev);
}

#ifdef CONFIG_SERIAL_CORE_CONSOLE

static int serial_base_add_one_prefcon(const char *match, const char *dev_name,
int port_id)
{
int ret;

ret = add_preferred_console_match(match, dev_name, port_id);
if (ret == -ENOENT)
return 0;

return ret;
}

static int serial_base_add_prefcon(const char *name, int idx)
{
const char *char_match __free(kfree) = NULL;

/* Handle the traditional character device name style console=ttyS0 */
char_match = kasprintf(GFP_KERNEL, "%s%i", name, idx);
if (!char_match)
return -ENOMEM;

return serial_base_add_one_prefcon(char_match, name, idx);
}

/**
* serial_base_add_preferred_console - Adds a preferred console
* @drv: Serial port device driver
* @port: Serial port instance
*
* Tries to add a preferred console for a serial port if specified in the
* kernel command line. Supports both the traditional character device such
* as console=ttyS0, and a hardware addressing based console=DEVNAME:0.0
* style name.
*
* Translates the kernel command line option using a hardware based addressing
* console=DEVNAME:0.0 to the serial port character device such as ttyS0.
* Cannot be called early for ISA ports, depends on struct device.
*
* Note that duplicates are ignored by add_preferred_console().
*
* Return: 0 on success, negative error code on failure.
*/
int serial_base_add_preferred_console(struct uart_driver *drv,
struct uart_port *port)
{
const char *port_match __free(kfree) = NULL;
int ret;

ret = serial_base_add_prefcon(drv->dev_name, port->line);
if (ret)
return ret;

port_match = kasprintf(GFP_KERNEL, "%s:%i.%i", dev_name(port->dev),
port->ctrl_id, port->port_id);
if (!port_match)
return -ENOMEM;

/* Translate a hardware addressing style console=DEVNAME:0.0 */
return serial_base_add_one_prefcon(port_match, drv->dev_name, port->line);
}

#endif

static int serial_base_init(void)
{
int ret;
Expand Down
4 changes: 0 additions & 4 deletions drivers/tty/serial/serial_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -3422,10 +3422,6 @@ int serial_core_register_port(struct uart_driver *drv, struct uart_port *port)
if (ret)
goto err_unregister_ctrl_dev;

ret = serial_base_add_preferred_console(drv, port);
if (ret)
goto err_unregister_port_dev;

ret = serial_core_add_one_port(drv, port);
if (ret)
goto err_unregister_port_dev;
Expand Down

0 comments on commit a5e4bb6

Please sign in to comment.