[PATCH] staging: winbond: mds.c: converted long if-else to switch

Lars Lindley lindley at coyote.org
Tue Mar 16 22:37:28 UTC 2010


I converted the long if-else in function Mds_HeaderCopy() to a switch
instead. It compiles fine but i don't have the hardware to test.
Please check that I didn't do anything bad to it..
The patch applies on top of this patch:
Message-Id: <1268670973-6223-1-git-send-email-lindley at coyote.org>

Signed-off-by: Lars Lindley <lindley at coyote.org>
---
 drivers/staging/winbond/mds.c |   38 +++++++++++++++++++++++---------------
 1 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/winbond/mds.c b/drivers/staging/winbond/mds.c
index ef08b51..6082fa8 100644
--- a/drivers/staging/winbond/mds.c
+++ b/drivers/staging/winbond/mds.c
@@ -400,30 +400,38 @@ static void Mds_HeaderCopy(struct wbsoft_priv *adapter,
 							       * back rate
 							       */
 
-		if (ctmp1 == 108)
+		switch (ctmp1) {
+		case 108:
 			ctmp2 = 7;
-		else if (ctmp1 == 96)
+			break;
+		case 96:
 			ctmp2 = 6;	/* Rate convert for USB */
-		else if (ctmp1 == 72)
+			break;
+		case 72:
 			ctmp2 = 5;
-		else if (ctmp1 == 48)
+			break;
+		case 48:
 			ctmp2 = 4;
-		else if (ctmp1 == 36)
+			break;
+		case 36:
+		case 22:
 			ctmp2 = 3;
-		else if (ctmp1 == 24)
+			break;
+		case 24:
+		case 11:
 			ctmp2 = 2;
-		else if (ctmp1 == 18)
+			break;
+		case 18:
+		case 4:
 			ctmp2 = 1;
-		else if (ctmp1 == 12)
+			break;
+		case 12:
 			ctmp2 = 0;
-		else if (ctmp1 == 22)
-			ctmp2 = 3;
-		else if (ctmp1 == 11)
-			ctmp2 = 2;
-		else if (ctmp1 == 4)
-			ctmp2 = 1;
-		else
+			break;
+		default:
 			ctmp2 = 0;	/* if (ctmp1 == 2) or default */
+			break;
+		}
 
 		if (i == 0)
 			pT01->T01_transmit_rate = ctmp2;
-- 
1.7.0.2




More information about the devel mailing list