[PATCH] ARM: at91: setup: refactor SoC subtype detection with switch statements
Alexander Shiyan
eagle.alexander923 at gmail.com
Tue Jun 17 23:35:51 PDT 2025
This patch replaces the series of independent if-statements in
dbgu_soc_detect() with a structured switch-case approach for
better code organization and readability.
Signed-off-by: Alexander Shiyan <eagle.alexander923 at gmail.com>
---
arch/arm/mach-at91/setup.c | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 708c946192..e8d45c30dd 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -102,7 +102,8 @@ static void __init dbgu_soc_detect(u32 dbgu_base)
at91_soc_initdata.cidr = cidr;
- if (at91_soc_initdata.type == AT91_SOC_SAM9G45) {
+ switch (at91_soc_initdata.type) {
+ case AT91_SOC_SAM9G45:
switch (at91_soc_initdata.exid) {
case ARCH_EXID_AT91SAM9M10:
at91_soc_initdata.subtype = AT91_SOC_SAM9M10;
@@ -114,9 +115,8 @@ static void __init dbgu_soc_detect(u32 dbgu_base)
at91_soc_initdata.subtype = AT91_SOC_SAM9M11;
break;
}
- }
-
- if (at91_soc_initdata.type == AT91_SOC_SAM9X5) {
+ break;
+ case AT91_SOC_SAM9X5:
switch (at91_soc_initdata.exid) {
case ARCH_EXID_AT91SAM9G15:
at91_soc_initdata.subtype = AT91_SOC_SAM9G15;
@@ -134,9 +134,8 @@ static void __init dbgu_soc_detect(u32 dbgu_base)
at91_soc_initdata.subtype = AT91_SOC_SAM9X25;
break;
}
- }
-
- if (at91_soc_initdata.type == AT91_SOC_SAM9N12) {
+ break;
+ case AT91_SOC_SAM9N12:
switch (at91_soc_initdata.exid) {
case ARCH_EXID_AT91SAM9N12:
at91_soc_initdata.subtype = AT91_SOC_SAM9N12;
@@ -148,9 +147,8 @@ static void __init dbgu_soc_detect(u32 dbgu_base)
at91_soc_initdata.subtype = AT91_SOC_SAM9CN12;
break;
}
- }
-
- if (at91_soc_initdata.type == AT91_SOC_SAMA5D3) {
+ break;
+ case AT91_SOC_SAMA5D3:
switch (at91_soc_initdata.exid) {
case ARCH_EXID_SAMA5D31:
at91_soc_initdata.subtype = AT91_SOC_SAMA5D31;
@@ -168,9 +166,8 @@ static void __init dbgu_soc_detect(u32 dbgu_base)
at91_soc_initdata.subtype = AT91_SOC_SAMA5D36;
break;
}
- }
-
- if (at91_soc_initdata.type == AT91_SOC_SAMA5D4) {
+ break;
+ case AT91_SOC_SAMA5D4:
switch (at91_soc_initdata.exid) {
case ARCH_EXID_SAMA5D41:
at91_soc_initdata.subtype = AT91_SOC_SAMA5D41;
@@ -185,6 +182,7 @@ static void __init dbgu_soc_detect(u32 dbgu_base)
at91_soc_initdata.subtype = AT91_SOC_SAMA5D44;
break;
}
+ break;
}
}
--
2.39.1
More information about the barebox
mailing list