This reverts commit 3e4aaea7a0391d47f6ffff1f10594c658a67c881. To apply v6 patches cleanly on tty-next branch, revert v2 patches. Signed-off-by: Akash Asthana <akashast@xxxxxxxxxxxxxx> --- drivers/tty/serial/qcom_geni_serial.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index 5180cd8..14c6306 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -9,7 +9,6 @@ #include <linux/console.h> #include <linux/io.h> #include <linux/iopoll.h> -#include <linux/irq.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_device.h> @@ -831,7 +830,7 @@ static void qcom_geni_serial_shutdown(struct uart_port *uport) if (uart_console(uport)) console_stop(uport->cons); - disable_irq(uport->irq); + free_irq(uport->irq, uport); spin_lock_irqsave(&uport->lock, flags); qcom_geni_serial_stop_tx(uport); qcom_geni_serial_stop_rx(uport); @@ -891,14 +890,21 @@ static int qcom_geni_serial_startup(struct uart_port *uport) int ret; struct qcom_geni_serial_port *port = to_dev_port(uport, uport); + scnprintf(port->name, sizeof(port->name), + "qcom_serial_%s%d", + (uart_console(uport) ? "console" : "uart"), uport->line); + if (!port->setup) { ret = qcom_geni_serial_port_setup(uport); if (ret) return ret; } - enable_irq(uport->irq); - return 0; + ret = request_irq(uport->irq, qcom_geni_serial_isr, IRQF_TRIGGER_HIGH, + port->name, uport); + if (ret) + dev_err(uport->dev, "Failed to get IRQ ret %d\n", ret); + return ret; } static unsigned long get_clk_cfg(unsigned long clk_freq) @@ -1291,21 +1297,11 @@ static int qcom_geni_serial_probe(struct platform_device *pdev) port->rx_fifo_depth = DEF_FIFO_DEPTH_WORDS; port->tx_fifo_width = DEF_FIFO_WIDTH_BITS; - scnprintf(port->name, sizeof(port->name), "qcom_geni_serial_%s%d", - (uart_console(uport) ? "console" : "uart"), uport->line); irq = platform_get_irq(pdev, 0); if (irq < 0) return irq; uport->irq = irq; - irq_set_status_flags(uport->irq, IRQ_NOAUTOEN); - ret = devm_request_irq(uport->dev, uport->irq, qcom_geni_serial_isr, - IRQF_TRIGGER_HIGH, port->name, uport); - if (ret) { - dev_err(uport->dev, "Failed to get IRQ ret %d\n", ret); - return ret; - } - uport->private_data = drv; platform_set_drvdata(pdev, port); port->handle_rx = console ? handle_rx_console : handle_rx_uart; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na Linux Foundation Collaborative Project