Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0bcd24b0 authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Nicolas Pitre
Browse files

ARM: OMAP: convert idle handlers from pm_idle to arm_pm_idle

parent 4fa20439
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -42,9 +42,9 @@
#include <linux/sysfs.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/atomic.h>

#include <asm/irq.h>
#include <linux/atomic.h>
#include <asm/mach/time.h>
#include <asm/mach/irq.h>

@@ -108,13 +108,7 @@ void omap1_pm_idle(void)
	__u32 use_idlect1 = arm_idlect1_mask;
	int do_sleep = 0;

	local_irq_disable();
	local_fiq_disable();
	if (need_resched()) {
		local_fiq_enable();
		local_irq_enable();
		return;
	}

#if defined(CONFIG_OMAP_MPU_TIMER) && !defined(CONFIG_OMAP_DM_TIMER)
#warning Enable 32kHz OS timer in order to allow sleep states in idle
@@ -157,14 +151,12 @@ void omap1_pm_idle(void)
		omap_writel(saved_idlect1, ARM_IDLECT1);

		local_fiq_enable();
		local_irq_enable();
		return;
	}
	omap_sram_suspend(omap_readl(ARM_IDLECT1),
			  omap_readl(ARM_IDLECT2));

	local_fiq_enable();
	local_irq_enable();
}

/*
@@ -684,7 +676,7 @@ static int __init omap_pm_init(void)
		return -ENODEV;
	}

	pm_idle = omap1_pm_idle;
	arm_pm_idle = omap1_pm_idle;

	if (cpu_is_omap7xx())
		setup_irq(INT_7XX_WAKE_UP_REQ, &omap_wakeup_irq);
+1 −3
Original line number Diff line number Diff line
@@ -232,7 +232,6 @@ static int omap2_can_sleep(void)

static void omap2_pm_idle(void)
{
	local_irq_disable();
	local_fiq_disable();

	if (!omap2_can_sleep()) {
@@ -249,7 +248,6 @@ static void omap2_pm_idle(void)

out:
	local_fiq_enable();
	local_irq_enable();
}

#ifdef CONFIG_SUSPEND
@@ -468,7 +466,7 @@ static int __init omap2_pm_init(void)
	}

	suspend_set_ops(&omap_pm_ops);
	pm_idle = omap2_pm_idle;
	arm_pm_idle = omap2_pm_idle;

	return 0;
}
+2 −4
Original line number Diff line number Diff line
@@ -418,10 +418,9 @@ void omap_sram_idle(void)

static void omap3_pm_idle(void)
{
	local_irq_disable();
	local_fiq_disable();

	if (omap_irq_pending() || need_resched())
	if (omap_irq_pending())
		goto out;

	trace_power_start(POWER_CSTATE, 1, smp_processor_id());
@@ -434,7 +433,6 @@ static void omap3_pm_idle(void)

out:
	local_fiq_enable();
	local_irq_enable();
}

#ifdef CONFIG_SUSPEND
@@ -848,7 +846,7 @@ static int __init omap3_pm_init(void)
	suspend_set_ops(&omap_pm_ops);
#endif /* CONFIG_SUSPEND */

	pm_idle = omap3_pm_idle;
	arm_pm_idle = omap3_pm_idle;
	omap3_idle_init();

	/*
+1 −3
Original line number Diff line number Diff line
@@ -178,13 +178,11 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
 */
static void omap_default_idle(void)
{
	local_irq_disable();
	local_fiq_disable();

	omap_do_wfi();

	local_fiq_enable();
	local_irq_enable();
}

/**
@@ -256,7 +254,7 @@ static int __init omap4_pm_init(void)
#endif /* CONFIG_SUSPEND */

	/* Overwrite the default arch_idle() */
	pm_idle = omap_default_idle;
	arm_pm_idle = omap_default_idle;

	omap4_idle_init();