kernel: bump to 4.9.105
[openwrt/staging/mkresin.git] / target / linux / layerscape / patches-4.9 / 816-tty-serial-support-layerscape.patch
index f7119e494ceaeb7e975e82852f7d8ca6ca526213..dd28ef6c04edac39d3be538d98b302787e9a5481 100644 (file)
@@ -117,12 +117,16 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  }
  
  /*
-@@ -1899,9 +1922,13 @@ static int lpuart_probe(struct platform_
+@@ -1899,13 +1922,13 @@ static int lpuart_probe(struct platform_
  
        ret = of_alias_get_id(np, "serial");
        if (ret < 0) {
 -              dev_err(&pdev->dev, "failed to get alias id, errno %d\n", ret);
 -              return ret;
+-      }
+-      if (ret >= ARRAY_SIZE(lpuart_ports)) {
+-              dev_err(&pdev->dev, "serial%d out of range\n", ret);
+-              return -EINVAL;
 +              ret = find_first_zero_bit(linemap, UART_NR);
 +              if (ret >= UART_NR) {
 +                      dev_err(&pdev->dev, "port line is full, add device failed\n");
@@ -133,7 +137,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
        sport->port.line = ret;
        sport->lpuart32 = of_device_is_compatible(np, "fsl,ls1021a-lpuart");
  
-@@ -1983,6 +2010,7 @@ static int lpuart_remove(struct platform
+@@ -1987,6 +2010,7 @@ static int lpuart_remove(struct platform
        struct lpuart_port *sport = platform_get_drvdata(pdev);
  
        uart_remove_one_port(&lpuart_reg, &sport->port);
@@ -141,7 +145,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  
        clk_disable_unprepare(sport->clk);
  
-@@ -2067,12 +2095,10 @@ static int lpuart_resume(struct device *
+@@ -2071,12 +2095,10 @@ static int lpuart_resume(struct device *
  
        if (sport->lpuart_dma_rx_use) {
                if (sport->port.irq_wake) {