diff options
Diffstat (limited to 'drivers/mfd/db8500-prcmu.c')
-rw-r--r-- | drivers/mfd/db8500-prcmu.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c index 97341aa4025c..4e27db841fab 100644 --- a/drivers/mfd/db8500-prcmu.c +++ b/drivers/mfd/db8500-prcmu.c | |||
@@ -884,6 +884,26 @@ bool db8500_prcmu_gic_pending_irq(void) | |||
884 | } | 884 | } |
885 | 885 | ||
886 | /* | 886 | /* |
887 | * This function checks if there are pending interrupt on the | ||
888 | * prcmu which has been delegated to monitor the irqs with the | ||
889 | * db8500_prcmu_copy_gic_settings function. | ||
890 | */ | ||
891 | bool db8500_prcmu_pending_irq(void) | ||
892 | { | ||
893 | u32 it, im; | ||
894 | int i; | ||
895 | |||
896 | for (i = 0; i < PRCMU_GIC_NUMBER_REGS - 1; i++) { | ||
897 | it = readl(PRCM_ARMITVAL31TO0 + i * 4); | ||
898 | im = readl(PRCM_ARMITMSK31TO0 + i * 4); | ||
899 | if (it & im) | ||
900 | return true; /* There is a pending interrupt */ | ||
901 | } | ||
902 | |||
903 | return false; | ||
904 | } | ||
905 | |||
906 | /* | ||
887 | * This function copies the gic SPI settings to the prcmu in order to | 907 | * This function copies the gic SPI settings to the prcmu in order to |
888 | * monitor them and abort/finish the retention/off sequence or state. | 908 | * monitor them and abort/finish the retention/off sequence or state. |
889 | */ | 909 | */ |