summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_pme2/pme2_ctrl.c
diff options
context:
space:
mode:
authorJeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>2014-04-08 23:01:36 (GMT)
committerScott Wood <scottwood@freescale.com>2014-04-18 22:37:14 (GMT)
commit74ea5125872bb2773cedc319cbeea0243f4d4476 (patch)
tree23ee18a958c755a9091285348553030d4a3d77d5 /drivers/staging/fsl_pme2/pme2_ctrl.c
parentfb4408c608480c14dfeae557b7e7e0e75bc0c0f4 (diff)
downloadlinux-fsl-qoriq-74ea5125872bb2773cedc319cbeea0243f4d4476.tar.xz
fsl_pme: disable interrupts in suspend
In order to enter deepsleep the pme device must clear all pending interrupts. Setting the interrupt inhibit register accomplishes this. On wakeup this register is restored by the original backed up value. Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com> Change-Id: Id50cbc5376b24de885260cff817e7ce5e304c306 Reviewed-on: http://git.am.freescale.net:8181/10821 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com> (cherry picked from commit 18de78a95ba92cc561844285eea9534ac061b7f9) Reviewed-on: http://git.am.freescale.net:8181/11211 Reviewed-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'drivers/staging/fsl_pme2/pme2_ctrl.c')
-rw-r--r--drivers/staging/fsl_pme2/pme2_ctrl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/staging/fsl_pme2/pme2_ctrl.c b/drivers/staging/fsl_pme2/pme2_ctrl.c
index 016648c..136d7e0 100644
--- a/drivers/staging/fsl_pme2/pme2_ctrl.c
+++ b/drivers/staging/fsl_pme2/pme2_ctrl.c
@@ -891,6 +891,9 @@ int pme_attr_set(enum pme_attr attr, u32 val)
case pme_attr_efqc:
pme_out(global_pme, EFQC, val);
break;
+ case pme_attr_iir:
+ pme_out(global_pme, IIR, val);
+ break;
default:
pr_err("pme: Unknown attr %u\n", attr);
return -EINVAL;
@@ -1383,6 +1386,9 @@ int pme_attr_get(enum pme_attr attr, u32 *val)
attr_val = pme_in(global_pme, EFQC);
break;
+ case pme_attr_iir:
+ attr_val = pme_in(global_pme, IIR);
+ break;
default:
pr_err("pme: Unknown attr %u\n", attr);