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

Commit aba607d6 authored by Daniel Lezcano's avatar Daniel Lezcano Committed by Kukjin Kim
Browse files

ARM: S3C64XX: use timekeeping wrapper on cpuidle



The timekeeping is computed from the cpuidle core if we set
the .en_core_tk_irqen flag. Let's use it and remove the duplicated
code.

Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 4c8b2075
Loading
Loading
Loading
Loading
+1 −11
Original line number Original line Diff line number Diff line
@@ -27,12 +27,7 @@ static int s3c64xx_enter_idle(struct cpuidle_device *dev,
			      struct cpuidle_driver *drv,
			      struct cpuidle_driver *drv,
			      int index)
			      int index)
{
{
	struct timeval before, after;
	unsigned long tmp;
	unsigned long tmp;
	int idle_time;

	local_irq_disable();
	do_gettimeofday(&before);


	/* Setup PWRCFG to enter idle mode */
	/* Setup PWRCFG to enter idle mode */
	tmp = __raw_readl(S3C64XX_PWR_CFG);
	tmp = __raw_readl(S3C64XX_PWR_CFG);
@@ -42,12 +37,6 @@ static int s3c64xx_enter_idle(struct cpuidle_device *dev,


	cpu_do_idle();
	cpu_do_idle();


	do_gettimeofday(&after);
	local_irq_enable();
	idle_time = (after.tv_sec - before.tv_sec) * USEC_PER_SEC +
		    (after.tv_usec - before.tv_usec);

	dev->last_residency = idle_time;
	return index;
	return index;
}
}


@@ -56,6 +45,7 @@ static DEFINE_PER_CPU(struct cpuidle_device, s3c64xx_cpuidle_device);
static struct cpuidle_driver s3c64xx_cpuidle_driver = {
static struct cpuidle_driver s3c64xx_cpuidle_driver = {
	.name	= "s3c64xx_cpuidle",
	.name	= "s3c64xx_cpuidle",
	.owner  = THIS_MODULE,
	.owner  = THIS_MODULE,
	.en_core_tk_irqen = 1,
	.states = {
	.states = {
		{
		{
			.enter            = s3c64xx_enter_idle,
			.enter            = s3c64xx_enter_idle,