示例#1
0
文件: mpm.c 项目: AKToronto/IronBorn2
bool msm_mpm_gpio_irqs_detectable(bool from_idle)
{
	unsigned long *apps_irq_bitmap = from_idle ?
			msm_mpm_enabled_apps_irqs : msm_mpm_wake_apps_irqs;

	return !__bitmap_intersects(msm_mpm_gpio_irqs_mask, apps_irq_bitmap,
			MSM_MPM_NR_APPS_IRQS);
}
示例#2
0
文件: mpm.c 项目: GunioRobot/EVO-3D-
bool msm_mpm_gpio_irq_enabled(bool from_idle)
{
	unsigned long *apps_irq_bitmap = from_idle ?
			msm_mpm_enabled_apps_irqs : msm_mpm_wake_apps_irqs;
	int gpio_irq_enabled = 0;

	gpio_irq_enabled = __bitmap_intersects(msm_mpm_gpio_irqs_mask, apps_irq_bitmap,
			MSM_MPM_NR_APPS_IRQS);

	if (gpio_irq_enabled && (!from_idle ||
		(MSM_MPM_DEBUG_ILDE_BLOCK & msm_mpm_debug_mask))) {
		char buf[DIV_ROUND_UP(MSM_MPM_NR_APPS_IRQS, 32)*9+1];
		DECLARE_BITMAP(msm_mpm_chk_gpio_irqs, MSM_MPM_NR_APPS_IRQS);

		__bitmap_and(msm_mpm_chk_gpio_irqs, msm_mpm_gic_irqs_mask,
			apps_irq_bitmap, MSM_MPM_NR_APPS_IRQS);
		bitmap_scnprintf(buf, sizeof(buf), apps_irq_bitmap, MSM_MPM_NR_APPS_IRQS);
		buf[sizeof(buf) - 1] = '\0';

		pr_info("%s: cannot monitor %s", __func__, buf);
	}
	return gpio_irq_enabled;
}