diff options
Diffstat (limited to 'drivers/mfd/db5500-prcmu.c')
| -rw-r--r-- | drivers/mfd/db5500-prcmu.c | 11 |
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) |
