It is more readable than multiple if-else statement.
Signed-off-by: Chaehyun Lim <[email protected]>
---
drivers/staging/wilc1000/wilc_wlan_cfg.c | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/wilc1000/wilc_wlan_cfg.c
b/drivers/staging/wilc1000/wilc_wlan_cfg.c
index 92f6d32..b3425b9 100644
--- a/drivers/staging/wilc1000/wilc_wlan_cfg.c
+++ b/drivers/staging/wilc1000/wilc_wlan_cfg.c
@@ -378,19 +378,31 @@ int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id,
u8 *buf, int size)
u8 type = (id >> 12) & 0xf;
int ret = 0;
- if (type == CFG_BYTE_CMD) {
+ switch (type) {
+ case CFG_BYTE_CMD:
if (size >= 1)
ret = wilc_wlan_cfg_set_byte(frame, offset, id, *buf);
- } else if (type == CFG_HWORD_CMD) {
+ break;
+
+ case CFG_HWORD_CMD:
if (size >= 2)
- ret = wilc_wlan_cfg_set_hword(frame, offset, id, *((u16
*)buf));
- } else if (type == CFG_WORD_CMD) {
+ ret = wilc_wlan_cfg_set_hword(frame, offset, id,
+ *((u16 *)buf));
+ break;
+
+ case CFG_WORD_CMD:
if (size >= 4)
- ret = wilc_wlan_cfg_set_word(frame, offset, id, *((u32
*)buf));
- } else if (type == CFG_STR_CMD) {
+ ret = wilc_wlan_cfg_set_word(frame, offset, id,
+ *((u32 *)buf));
+ break;
+
+ case CFG_STR_CMD:
ret = wilc_wlan_cfg_set_str(frame, offset, id, buf, size);
- } else if (type == CFG_BIN_CMD) {
+ break;
+
+ case CFG_BIN_CMD:
ret = wilc_wlan_cfg_set_bin(frame, offset, id, buf, size);
+ break;
}
return ret;
--
2.7.1
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel