[PATCH v3 4/5] ARM: tegra: set CPU reset handler with firmware op
Stephen Warren
swarren at wwwdotorg.org
Wed Aug 14 17:40:31 EDT 2013
On 08/12/2013 08:29 PM, Alexandre Courbot wrote:
> Use a firmware operation to set the CPU reset handler and only resort to
> doing it ourselves if there is none defined.
>
> This supports the booting of secondary CPUs on devices using a TrustZone
> secure monitor.
> diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c
> + err = call_firmware_op(set_cpu_boot_addr, 0, reset_address);
> + switch (err) {
> + case -ENOSYS:
> + tegra_cpu_reset_handler_set(reset_address);
> + /* pass-through */
> + case 0:
> + is_enabled = true;
> + break;
> + default:
> + pr_crit("Cannot set CPU reset handler: %d\n", err);
> + BUG();
> + }
Instead of trying and failing, does it make sense to register
tegra_cpu_reset_handler_set() as the set_cpu_boot_addr firmware op when
there is no firmware present? That would simplify all call-sites of any
firmware op.
More information about the linux-arm-kernel
mailing list