From: Pekka Enberg on
Lars Lindley wrote:
> 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(a)coyote.org>
>
> Signed-off-by: Lars Lindley <lindley(a)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;
> + }

Reordering the checks makes the patch harder to review but yeah, looks
good to me.

Acked-by: Pekka Enberg <penberg(a)cs.helsinki.fi>

Pekka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/