static int _prcm_int_handle_wakeup(void) { int c; c = prcm_clear_mod_irqs(WKUP_MOD, 1); c += prcm_clear_mod_irqs(CORE_MOD, 1); c += prcm_clear_mod_irqs(OMAP3430_PER_MOD, 1); if (omap_rev() > OMAP3430_REV_ES1_0) { c += prcm_clear_mod_irqs(CORE_MOD, 3); c += prcm_clear_mod_irqs(OMAP3430ES2_USBHOST_MOD, 1); } return c; }
static int _prcm_int_handle_wakeup(void) { int c; /* By OMAP3630ES1.x and OMAP3430ES3.1 TRM, S/W must clear * the EN_IO and EN_IO_CHAIN bits of WKEN_WKUP. Those bits * would be set again by S/W in sleep sequences. */ if (omap_rev() >= OMAP3430_REV_ES3_1) prm_clear_mod_reg_bits(OMAP3430_EN_IO_MASK | OMAP3430_EN_IO_CHAIN_MASK, WKUP_MOD, PM_WKEN); c = prcm_clear_mod_irqs(WKUP_MOD, 1); c += prcm_clear_mod_irqs(CORE_MOD, 1); c += prcm_clear_mod_irqs(OMAP3430_PER_MOD, 1); if (omap_rev() > OMAP3430_REV_ES1_0) { c += prcm_clear_mod_irqs(CORE_MOD, 3); c += prcm_clear_mod_irqs(OMAP3430ES2_USBHOST_MOD, 1); } return c; }