[PATCH 1/4] am33xx_generic: convert from switch to if/else

Jan Luebbe jlu at pengutronix.de
Wed Oct 2 15:30:08 EDT 2013


The function am33xx_get_cpu_rev may be called before barebox_arm_entry(),
so we need to avoid switch statements. 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;
 }
 
 /**
-- 
1.7.10.4




More information about the barebox mailing list