summaryrefslogtreecommitdiff
path: root/drivers/mfd/db5500-prcmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd/db5500-prcmu.c')
-rw-r--r--drivers/mfd/db5500-prcmu.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/mfd/db5500-prcmu.c b/drivers/mfd/db5500-prcmu.c
index 009b46565fe..6e9c5f62754 100644
--- a/drivers/mfd/db5500-prcmu.c
+++ b/drivers/mfd/db5500-prcmu.c
@@ -1027,7 +1027,16 @@ unlock_return:
u8 db5500_prcmu_get_power_state_result(void)
{
- return readb(PRCM_REQ_MB0_AP_POWER_STATE);
+ u8 status = readb_relaxed(PRCM_ACK_MB0_AP_PWRSTTR_STATUS);
+
+ /*
+ * Callers expect all the status values to match 8500. Adjust for
+ * PendingReq_Er (0x2b).
+ */
+ if (status == 0x2b)
+ status = PRCMU_PRCMU2ARMPENDINGIT_ER;
+
+ return status;
}
void db5500_prcmu_enable_wakeups(u32 wakeups)