[PATCH 1/4] am33xx_generic: convert from switch to if/else
Lucas Stach
dev at lynxeye.de
Wed Oct 2 15:45:42 EDT 2013
Am Mittwoch, den 02.10.2013, 21:30 +0200 schrieb Jan Luebbe:
> The function am33xx_get_cpu_rev may be called before barebox_arm_entry(),
> so we need to avoid switch statements.
Uhm, could you please be more verbose on _why_ we need to avoid switch
statements at this stage? I might be running into the same failure with
Tegra at some point if there's a real issue.
Thanks,
Lucas
> One example is the BeagleBone,
> where we use this function to differenciate between the white and black
> variants.
>
> Signed-off-by: Jan Luebbe <jlu at pengutronix.de>
> ---
> arch/arm/mach-omap/am33xx_generic.c | 31 +++++++++++--------------------
> 1 file changed, 11 insertions(+), 20 deletions(-)
>
> diff --git a/arch/arm/mach-omap/am33xx_generic.c b/arch/arm/mach-omap/am33xx_generic.c
> index 3690ce1..251c8d4 100644
> --- a/arch/arm/mach-omap/am33xx_generic.c
> +++ b/arch/arm/mach-omap/am33xx_generic.c
> @@ -43,30 +43,21 @@ void __noreturn reset_cpu(unsigned long addr)
> * The significance of the CPU revision depends upon the cpu type.
> * Latest known revision is considered default.
> *
> + * This function is called before barebox_arm_entry(), so avoid switch
> + * statements.
> + *
> * @return silicon version
> */
> u32 am33xx_get_cpu_rev(void)
> {
> - u32 version, retval;
> -
> - version = (readl(AM33XX_IDCODE_REG) >> 28) & 0xF;
> -
> - switch (version) {
> - case 0:
> - retval = AM335X_ES1_0;
> - break;
> - case 1:
> - retval = AM335X_ES2_0;
> - break;
> - case 2:
> - /*
> - * Fall through the default case.
> - */
> - default:
> - retval = AM335X_ES2_1;
> - }
> -
> - return retval;
> + u32 version = (readl(AM33XX_IDCODE_REG) >> 28) & 0xF;
> +
> + if (version == 0)
> + return AM335X_ES1_0;
> + else if (version == 1)
> + return AM335X_ES2_0;
> + else
> + return AM335X_ES2_1;
> }
>
> /**
More information about the barebox
mailing list