patch "Revert "serial: uartps: Move Port ID to device data structure"" added to tty-linus
Subsystems (3)
This is a note to let you know that I've just added the patch titled
Revert "serial: uartps: Move Port ID to device data structure"
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 492cc08bc16c44e2e587362ada3f6269dee2be22 Mon Sep 17 00:00:00 2001
From: Michal Simek <[email protected]>
Date: Fri, 3 Apr 2020 11:24:35 +0200
Subject: Revert "serial: uartps: Move Port ID to device data structure"
This reverts commit bed25ac0e2b6ab8f9aed2d20bc9c3a2037311800.
As Johan says, this driver needs a lot more work and these changes are only going in the wrong direction:
https://lkml.kernel.org/r/20190523091839.GC568@localhost
--- drivers/tty/serial/xilinx_uartps.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
drivers/tty/serial/xilinx_uartps.c +9 -11
@@ -189,7 +189,6 @@ MODULE_PARM_DESC(rx_timeout, "Rx timeout, 1-255");* @pclk: APB clock * @cdns_uart_driver: Pointer to UART driver * @baud: Current baud rate -* @id: Port ID * @clk_rate_change_nb: Notifier block for clock changes * @quirks: Flags for RXBS support. */
@@ -199,7 +198,6 @@ struct cdns_uart {struct clk *pclk;struct uart_driver *cdns_uart_driver;unsigned int baud; -int id;struct notifier_block clk_rate_change_nb;u32 quirks;bool cts_override;
@@ -1412,7 +1410,7 @@ MODULE_DEVICE_TABLE(of, cdns_uart_of_match);*/ static int cdns_uart_probe (struct platform_device *pdev) { -int rc, irq; +int rc, id, irq;struct uart_port *port;struct resource *res;struct cdns_uart *cdns_uart_data;
@@ -1438,18 +1436,18 @@ static int cdns_uart_probe(struct platform_device *pdev)return -ENOMEM ;/* Look for a serialN alias */ - cdns_uart_data->id =of_alias_get_id (pdev->dev.of_node,"serial" ); -if (cdns_uart_data->id <0 ) - cdns_uart_data->id =0 ; + id =of_alias_get_id (pdev->dev.of_node,"serial" ); +if (id <0 ) + id =0 ; -if (cdns_uart_data->id >=CDNS_UART_NR_PORTS ) { +if (id >=CDNS_UART_NR_PORTS ) {dev_err (&pdev->dev,"Cannot get uart_port structure\n" );return -ENODEV ; }/* There is a need to use unique driver name */ driver_name =devm_kasprintf (&pdev->dev,GFP_KERNEL ,"%s%d" , -CDNS_UART_NAME , cdns_uart_data->id); +CDNS_UART_NAME , id);if (!driver_name)return -ENOMEM ;
@@ -1457,7 +1455,7 @@ static int cdns_uart_probe(struct platform_device *pdev) cdns_uart_uart_driver->driver_name = driver_name; cdns_uart_uart_driver->dev_name =CDNS_UART_TTY_NAME ; cdns_uart_uart_driver->major =CDNS_UART_MAJOR ; - cdns_uart_uart_driver->minor = cdns_uart_data->id; + cdns_uart_uart_driver->minor = id; cdns_uart_uart_driver->nr =1 ;#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE
@@ -1468,7 +1466,7 @@ static int cdns_uart_probe(struct platform_device *pdev)strncpy (cdns_uart_console->name,CDNS_UART_TTY_NAME ,sizeof (cdns_uart_console->name)); - cdns_uart_console->index = cdns_uart_data->id; + cdns_uart_console->index = id; cdns_uart_console->write = cdns_uart_console_write; cdns_uart_console->device = uart_console_device; cdns_uart_console->setup = cdns_uart_console_setup;
@@ -1490,7 +1488,7 @@ static int cdns_uart_probe(struct platform_device *pdev)* registration because tty_driver structure is not filled. * name_base is 0 by default. */ - cdns_uart_uart_driver->tty_driver->name_base = cdns_uart_data->id; + cdns_uart_uart_driver->tty_driver->name_base = id; match =of_match_node (cdns_uart_of_match, pdev->dev.of_node);if (match && match->data) {
Signature · 1 line
2.26.1