diff options
| -rw-r--r-- | drivers/tty/serial/icom.c | 4 | ||||
| -rw-r--r-- | drivers/tty/serial/pch_uart.c | 10 | ||||
| -rw-r--r-- | drivers/tty/serial/samsung.c | 8 |
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) |
