Commit 65c3f000 authored by Chris Park's avatar Chris Park Committed by Greg Kroah-Hartman
Browse files

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: default avatarChris Park <chris.park@atmel.com>
Signed-off-by: default avatarLeo Kim <leo.kim@atmel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 20f4e712
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;

+7 −12
Original line number Diff line number Diff line
@@ -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;
}

+1 −1
Original line number Diff line number Diff line
@@ -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