| From ba2944c2060ae8769797b5cb841f3f37359e2baa Mon Sep 17 00:00:00 2001 |
| From: Michal Simek <michal.simek@xilinx.com> |
| Date: Fri, 3 Apr 2020 11:24:35 +0200 |
| Subject: [PATCH] Revert "serial: uartps: Move Port ID to device data |
| structure" |
| |
| commit 492cc08bc16c44e2e587362ada3f6269dee2be22 upstream. |
| |
| 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 |
| |
| Reported-by: Johan Hovold <johan@kernel.org> |
| Signed-off-by: Michal Simek <michal.simek@xilinx.com> |
| Cc: stable <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/eb0ec98fecdca9b79c1a3ac0c30c668b6973b193.1585905873.git.michal.simek@xilinx.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c |
| index 4598570725fc..611dc34f9286 100644 |
| --- a/drivers/tty/serial/xilinx_uartps.c |
| +++ b/drivers/tty/serial/xilinx_uartps.c |
| @@ -181,7 +181,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. |
| */ |
| @@ -191,7 +190,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; |
| @@ -1394,7 +1392,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; |
| @@ -1420,18 +1418,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; |
| |
| @@ -1439,7 +1437,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 |
| @@ -1450,7 +1448,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; |
| @@ -1472,7 +1470,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) { |
| -- |
| 2.7.4 |
| |