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

Commit 2058842e authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

ARM: tegra: call cpu_do_idle from C code



When building a kernel for multiple CPU architecture levels,
cpu_do_idle() is a macro for an indirect function call, which
cannot be called from assembly code as Tegra does.

Adding a trivial C wrapper for this function lets us build
a tegra kernel with ARMv6 support enabled.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarJoseph Lo <josephl@nvidia.com>
Cc: Stephen Warren <swarren@nvidia.com>
parent 0259d9eb
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -162,6 +162,11 @@ bool tegra_set_cpu_in_lp2(int phy_cpu_id)
	return last_cpu;
	return last_cpu;
}
}


int tegra_cpu_do_idle(void)
{
	return cpu_do_idle();
}

static int tegra_sleep_cpu(unsigned long v2p)
static int tegra_sleep_cpu(unsigned long v2p)
{
{
	/* Switch to the identity mapping. */
	/* Switch to the identity mapping. */
+1 −1
Original line number Original line Diff line number Diff line
@@ -197,7 +197,7 @@ ENTRY(tegra20_sleep_cpu_secondary_finish)
	mov	r3, #CPU_RESETTABLE
	mov	r3, #CPU_RESETTABLE
	str	r3, [r0]
	str	r3, [r0]


	bl	cpu_do_idle
	bl	tegra_cpu_do_idle


	/*
	/*
	 * cpu may be reset while in wfi, which will return through
	 * cpu may be reset while in wfi, which will return through