esoc: Fix irq unbalance wake disable warning
Power management irq wakeup mode is by default disabled. Calling irq_set_irq_wake() on a disabled irq causes warning. Remove irq_set_irq_wake() function from mdm_enable/disable_irqs functions and set it once in probe. Change-Id: Ib7f49ae101e6dc04790649d408c1722df8da8bd2 Signed-off-by: Arun KS <arunks@codeaurora.org>
This commit is contained in:
parent
9023a992a8
commit
51a7468ba0
1 changed files with 2 additions and 4 deletions
|
@ -88,12 +88,10 @@ static void mdm_enable_irqs(struct mdm_ctrl *mdm)
|
||||||
return;
|
return;
|
||||||
if (mdm->irq_mask & IRQ_ERRFATAL) {
|
if (mdm->irq_mask & IRQ_ERRFATAL) {
|
||||||
enable_irq(mdm->errfatal_irq);
|
enable_irq(mdm->errfatal_irq);
|
||||||
irq_set_irq_wake(mdm->errfatal_irq, 1);
|
|
||||||
mdm->irq_mask &= ~IRQ_ERRFATAL;
|
mdm->irq_mask &= ~IRQ_ERRFATAL;
|
||||||
}
|
}
|
||||||
if (mdm->irq_mask & IRQ_STATUS) {
|
if (mdm->irq_mask & IRQ_STATUS) {
|
||||||
enable_irq(mdm->status_irq);
|
enable_irq(mdm->status_irq);
|
||||||
irq_set_irq_wake(mdm->status_irq, 1);
|
|
||||||
mdm->irq_mask &= ~IRQ_STATUS;
|
mdm->irq_mask &= ~IRQ_STATUS;
|
||||||
}
|
}
|
||||||
if (mdm->irq_mask & IRQ_PBLRDY) {
|
if (mdm->irq_mask & IRQ_PBLRDY) {
|
||||||
|
@ -107,12 +105,10 @@ static void mdm_disable_irqs(struct mdm_ctrl *mdm)
|
||||||
if (!mdm)
|
if (!mdm)
|
||||||
return;
|
return;
|
||||||
if (!(mdm->irq_mask & IRQ_ERRFATAL)) {
|
if (!(mdm->irq_mask & IRQ_ERRFATAL)) {
|
||||||
irq_set_irq_wake(mdm->errfatal_irq, 0);
|
|
||||||
disable_irq_nosync(mdm->errfatal_irq);
|
disable_irq_nosync(mdm->errfatal_irq);
|
||||||
mdm->irq_mask |= IRQ_ERRFATAL;
|
mdm->irq_mask |= IRQ_ERRFATAL;
|
||||||
}
|
}
|
||||||
if (!(mdm->irq_mask & IRQ_STATUS)) {
|
if (!(mdm->irq_mask & IRQ_STATUS)) {
|
||||||
irq_set_irq_wake(mdm->status_irq, 0);
|
|
||||||
disable_irq_nosync(mdm->status_irq);
|
disable_irq_nosync(mdm->status_irq);
|
||||||
mdm->irq_mask |= IRQ_STATUS;
|
mdm->irq_mask |= IRQ_STATUS;
|
||||||
}
|
}
|
||||||
|
@ -701,6 +697,7 @@ static int mdm_configure_ipc(struct mdm_ctrl *mdm, struct platform_device *pdev)
|
||||||
goto errfatal_err;
|
goto errfatal_err;
|
||||||
}
|
}
|
||||||
mdm->errfatal_irq = irq;
|
mdm->errfatal_irq = irq;
|
||||||
|
irq_set_irq_wake(mdm->errfatal_irq, 1);
|
||||||
|
|
||||||
errfatal_err:
|
errfatal_err:
|
||||||
/* status irq */
|
/* status irq */
|
||||||
|
@ -719,6 +716,7 @@ errfatal_err:
|
||||||
goto status_err;
|
goto status_err;
|
||||||
}
|
}
|
||||||
mdm->status_irq = irq;
|
mdm->status_irq = irq;
|
||||||
|
irq_set_irq_wake(mdm->status_irq, 1);
|
||||||
status_err:
|
status_err:
|
||||||
if (gpio_is_valid(MDM_GPIO(mdm, MDM2AP_PBLRDY))) {
|
if (gpio_is_valid(MDM_GPIO(mdm, MDM2AP_PBLRDY))) {
|
||||||
irq = platform_get_irq_byname(pdev, "plbrdy_irq");
|
irq = platform_get_irq_byname(pdev, "plbrdy_irq");
|
||||||
|
|
Loading…
Add table
Reference in a new issue