aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-22 16:42:19 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-22 16:42:19 -0500
commit4fbd269f1f9f8020dd9474b60e55c4f34d267b08 (patch)
tree61f6b7e35ea8f427f0c2c5c6e5f5e3244c311818
parent8bc661bfc0c2d221e209f4205bdaaf574d50100c (diff)
parent39669f3ae1d8a82d407a00e9e0058050997328da (diff)
Merge branch 'fixes' into tty-next
This was a "forgotten" branch of tty fixes that somehow didn't make it into my "main" branches, my fault. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/icom.c4
-rw-r--r--drivers/tty/serial/pch_uart.c10
-rw-r--r--drivers/tty/serial/samsung.c8
3 files changed, 16 insertions, 6 deletions
diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
index d98e43348970..67423805e6d9 100644
--- a/drivers/tty/serial/icom.c
+++ b/drivers/tty/serial/icom.c
@@ -455,11 +455,11 @@ static void load_code(struct icom_port *icom_port)
455 for (index = 0; index < fw->size; index++) 455 for (index = 0; index < fw->size; index++)
456 new_page[index] = fw->data[index]; 456 new_page[index] = fw->data[index];
457 457
458 release_firmware(fw);
459
460 writeb((char) ((fw->size + 16)/16), &icom_port->dram->mac_length); 458 writeb((char) ((fw->size + 16)/16), &icom_port->dram->mac_length);
461 writel(temp_pci, &icom_port->dram->mac_load_addr); 459 writel(temp_pci, &icom_port->dram->mac_load_addr);
462 460
461 release_firmware(fw);
462
463 /*Setting the syncReg to 0x80 causes adapter to start downloading 463 /*Setting the syncReg to 0x80 causes adapter to start downloading
464 the personality code into adapter instruction RAM. 464 the personality code into adapter instruction RAM.
465 Once code is loaded, it will begin executing and, based on 465 Once code is loaded, it will begin executing and, based on
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index 9cbd3acaf37f..8fa1134e0051 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -1508,10 +1508,14 @@ static int pch_uart_verify_port(struct uart_port *port,
1508 __func__); 1508 __func__);
1509 return -EOPNOTSUPP; 1509 return -EOPNOTSUPP;
1510#endif 1510#endif
1511 dev_info(priv->port.dev, "PCH UART : Use DMA Mode\n"); 1511 if (!priv->use_dma) {
1512 if (!priv->use_dma)
1513 pch_request_dma(port); 1512 pch_request_dma(port);
1514 priv->use_dma = 1; 1513 if (priv->chan_rx)
1514 priv->use_dma = 1;
1515 }
1516 dev_info(priv->port.dev, "PCH UART: %s\n",
1517 priv->use_dma ?
1518 "Use DMA Mode" : "No DMA");
1515 } 1519 }
1516 1520
1517 return 0; 1521 return 0;
diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
index c1af04d46682..9cd706df3b33 100644
--- a/drivers/tty/serial/samsung.c
+++ b/drivers/tty/serial/samsung.c
@@ -1209,7 +1209,6 @@ static int s3c24xx_serial_init_port(struct s3c24xx_uart_port *ourport,
1209 1209
1210 /* reset the fifos (and setup the uart) */ 1210 /* reset the fifos (and setup the uart) */
1211 s3c24xx_serial_resetport(port, cfg); 1211 s3c24xx_serial_resetport(port, cfg);
1212 clk_disable_unprepare(ourport->clk);
1213 return 0; 1212 return 0;
1214} 1213}
1215 1214
@@ -1287,6 +1286,13 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
1287 uart_add_one_port(&s3c24xx_uart_drv, &ourport->port); 1286 uart_add_one_port(&s3c24xx_uart_drv, &ourport->port);
1288 platform_set_drvdata(pdev, &ourport->port); 1287 platform_set_drvdata(pdev, &ourport->port);
1289 1288
1289 /*
1290 * Deactivate the clock enabled in s3c24xx_serial_init_port here,
1291 * so that a potential re-enablement through the pm-callback overlaps
1292 * and keeps the clock enabled in this case.
1293 */
1294 clk_disable_unprepare(ourport->clk);
1295
1290#ifdef CONFIG_SAMSUNG_CLOCK 1296#ifdef CONFIG_SAMSUNG_CLOCK
1291 ret = device_create_file(&pdev->dev, &dev_attr_clock_source); 1297 ret = device_create_file(&pdev->dev, &dev_attr_clock_source);
1292 if (ret < 0) 1298 if (ret < 0)