staging: wilc1000: Optimize code of wilc_get_chipid function

This patch optimize code of wilc_get_chipid function.
u8 type changed to boolean type and removed unnecessary if statement.

Signed-off-by: Chris Park <chris.park@atmel.com>
Signed-off-by: Leo Kim <leo.kim@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Chris Park 2016-02-04 18:15:54 +09:00 committed by Greg Kroah-Hartman
parent 20f4e712d1
commit 65c3f00013
3 changed files with 10 additions and 15 deletions

View file

@ -388,7 +388,7 @@ int wilc_wlan_get_firmware(struct net_device *dev)
vif = netdev_priv(dev);
wilc = vif->wilc;
chip_id = wilc_get_chipid(wilc, 0);
chip_id = wilc_get_chipid(wilc, false);
if (chip_id < 0x1003a0)
firmware = FIRMWARE_1002;
@ -475,7 +475,7 @@ static int linux_wlan_init_test_config(struct net_device *dev,
wilc_get_mac_address(vif, mac_add);
netdev_dbg(dev, "MAC address is : %pM\n", mac_add);
wilc_get_chipid(wilc, 0);
wilc_get_chipid(wilc, false);
*(int *)c_val = 1;

View file

@ -1441,36 +1441,31 @@ static u32 init_chip(struct net_device *dev)
return ret;
}
u32 wilc_get_chipid(struct wilc *wilc, u8 update)
u32 wilc_get_chipid(struct wilc *wilc, bool update)
{
static u32 chipid;
u32 tempchipid = 0;
u32 rfrevid;
u32 rfrevid = 0;
if (chipid == 0 || update != 0) {
if (chipid == 0 || update) {
wilc->hif_func->hif_read_reg(wilc, 0x1000, &tempchipid);
wilc->hif_func->hif_read_reg(wilc, 0x13f4, &rfrevid);
if (!ISWILC1000(tempchipid)) {
chipid = 0;
goto _fail_;
return chipid;
}
if (tempchipid == 0x1002a0) {
if (rfrevid == 0x1) {
} else {
if (rfrevid != 0x1)
tempchipid = 0x1002a1;
}
} else if (tempchipid == 0x1002b0) {
if (rfrevid == 3) {
} else if (rfrevid == 4) {
if (rfrevid == 0x4)
tempchipid = 0x1002b1;
} else {
else if (rfrevid != 0x3)
tempchipid = 0x1002b2;
}
}
chipid = tempchipid;
}
_fail_:
return chipid;
}

View file

@ -921,6 +921,6 @@ struct wilc;
int wilc_wlan_init(struct net_device *dev);
void wilc_bus_set_max_speed(void);
void wilc_bus_set_default_speed(void);
u32 wilc_get_chipid(struct wilc *wilc, u8 update);
u32 wilc_get_chipid(struct wilc *wilc, bool update);
#endif