From 445cee88de5d9f54bcf1c57596f9e6a8427656d1 Mon Sep 17 00:00:00 2001 From: Vivek Kumar Date: Thu, 3 May 2018 14:44:24 +0530 Subject: [PATCH] serial: msm_serial_hs: Configure IRQ flag Configure irq flag for wake_up IRQ which is passed from the DT. Change-Id: Ib521a73a6164053c9bf846078482afb6671b76e0 Signed-off-by: Vivek Kumar --- drivers/tty/serial/msm_serial_hs.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c index 5da2f1406546..4d02ff24cffe 100644 --- a/drivers/tty/serial/msm_serial_hs.c +++ b/drivers/tty/serial/msm_serial_hs.c @@ -3,7 +3,7 @@ * MSM 7k High speed uart driver * * Copyright (c) 2008 Google Inc. - * Copyright (c) 2007-2017, The Linux Foundation. All rights reserved. + * Copyright (c) 2007-2018, The Linux Foundation. All rights reserved. * Modified: Nick Pelly * * All source code in this file is licensed under the following license @@ -2656,6 +2656,7 @@ static int msm_hs_startup(struct uart_port *uport) int ret; int rfr_level; unsigned long flags; + u32 irq_type; unsigned int data; struct msm_hs_port *msm_uport = UARTDM_TO_MSM(uport); struct circ_buf *tx_buf = &uport->state->xmit; @@ -2676,8 +2677,11 @@ static int msm_hs_startup(struct uart_port *uport) msm_hs_resource_vote(msm_uport); if (is_use_low_power_wakeup(msm_uport)) { + irq_type = irq_get_trigger_type(msm_uport->wakeup.irq); + if (irq_type == IRQ_TYPE_NONE) + irq_type = IRQ_TYPE_EDGE_FALLING; ret = request_irq(msm_uport->wakeup.irq, msm_hs_wakeup_isr, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + irq_type | IRQF_ONESHOT, "msm_hs_wakeup", msm_uport); if (unlikely(ret)) { MSM_HS_ERR("%s():Err getting uart wakeup_irq %d\n",