Quoting Akash Asthana (2019-10-11 02:48:42) > > On 10/10/2019 7:55 PM, Stephen Boyd wrote: > > Quoting Akash Asthana (2019-10-10 02:46:43) > >> diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c > >> index 5180cd8..ff63728 100644 > >> --- a/drivers/tty/serial/qcom_geni_serial.c > >> +++ b/drivers/tty/serial/qcom_geni_serial.c > >> @@ -1306,6 +1317,29 @@ static int qcom_geni_serial_probe(struct platform_device *pdev) > >> + if (port->wakeup_irq < 0) { > >> + dev_err(&pdev->dev, "Failed to get wakeup IRQ %d\n", > >> + port->wakeup_irq); > >> + } else { > >> + irq_set_status_flags(port->wakeup_irq, IRQ_NOAUTOEN); > >> + ret = devm_request_irq(uport->dev, port->wakeup_irq, > >> + qcom_geni_serial_wakeup_isr, > >> + IRQF_TRIGGER_FALLING, "uart_wakeup", uport); > >> + if (ret) { > >> + dev_err(uport->dev, "Failed to register wakeup IRQ ret %d\n", > >> + ret); > >> + return ret; > >> + } > >> + > >> + device_init_wakeup(&pdev->dev, true); > >> + ret = dev_pm_set_wake_irq(&pdev->dev, port->wakeup_irq); > > Why can't we use dev_pm_set_dedicated_wake_irq() here? > > If we use this API then handler "handle_threaded_wake_irq" uses device > specific pm_runtime functions to wake the device and currently this > > driver don't support runtime PM callbacks. Also, we want to register > "qcom_geni_serial_wakeup_isr" as our IRQ handler for wakeup scenario. > Why can't we make this driver use runtime PM?