Re: [PATCH v3 4/5] ARM: tegra: set CPU reset handler with firmwareop

From: Stephen Warren
Date: Wed Aug 14 2013 - 17:40:41 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/