From 7f0cb0a05df262c51084f8b079188395ea1ad3da Mon Sep 17 00:00:00 2001 From: Peter Huewe Date: Wed, 13 Feb 2013 04:05:25 +0100 Subject: [PATCH] staging/rtl8187se: Remove duplicated code by using an offset In SetAntennaConfig87SE both branches of if (bAntDiversity) do exactly the same, except that there is an offset of 0x80 for the register values if bAntDiversity is true. -> Consolidate both branches and assign the offset if necessary. Signed-off-by: Peter Huewe Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8187se/r8185b_init.c | 66 ++++++++----------------- 1 file changed, 21 insertions(+), 45 deletions(-) diff --git a/drivers/staging/rtl8187se/r8185b_init.c b/drivers/staging/rtl8187se/r8185b_init.c index 005fb0bce486..2ca857d4244f 100644 --- a/drivers/staging/rtl8187se/r8185b_init.c +++ b/drivers/staging/rtl8187se/r8185b_init.c @@ -284,62 +284,38 @@ bool SetAntennaConfig87SE(struct net_device *dev, { struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); bool bAntennaSwitched = true; + u8 ant_diversity_offset = 0x00; /* 0x00 = disabled, 0x80 = enabled */ /* printk("SetAntennaConfig87SE(): DefaultAnt(%d), bAntDiversity(%d)\n", DefaultAnt, bAntDiversity); */ /* Threshold for antenna diversity. */ write_phy_cck(dev, 0x0c, 0x09); /* Reg0c : 09 */ - if (bAntDiversity) { /* Enable Antenna Diversity. */ - if (DefaultAnt == 1) { /* aux antenna */ + if (bAntDiversity) /* Enable Antenna Diversity. */ + ant_diversity_offset = 0x80; - /* Mac register, aux antenna */ - write_nic_byte(dev, ANTSEL, 0x00); + if (DefaultAnt == 1) { /* aux Antenna */ + /* Mac register, aux antenna */ + write_nic_byte(dev, ANTSEL, 0x00); - /* Config CCK RX antenna. */ - write_phy_cck(dev, 0x11, 0xbb); /* Reg11 : bb */ - write_phy_cck(dev, 0x01, 0xc7); /* Reg01 : c7 */ + /* Config CCK RX antenna. */ + write_phy_cck(dev, 0x11, 0xbb); /* Reg11 : bb */ + write_phy_cck(dev, 0x01, 0x47|ant_diversity_offset); /* Reg01 : 47 | ant_diversity_offset */ - /* Config OFDM RX antenna. */ - write_phy_ofdm(dev, 0x0D, 0x54); /* Reg0d : 54 */ - write_phy_ofdm(dev, 0x18, 0xb2); /* Reg18 : b2 */ - } else { /* use main antenna */ - /* Mac register, main antenna */ - write_nic_byte(dev, ANTSEL, 0x03); - /* base band */ - /* Config CCK RX antenna. */ - write_phy_cck(dev, 0x11, 0x9b); /* Reg11 : 9b */ - write_phy_cck(dev, 0x01, 0xc7); /* Reg01 : c7 */ + /* Config OFDM RX antenna. */ + write_phy_ofdm(dev, 0x0D, 0x54); /* Reg0d : 54 */ + write_phy_ofdm(dev, 0x18, 0x32|ant_diversity_offset); /* Reg18 : 32 */ + } else { /* main Antenna */ + /* Mac register, main antenna */ + write_nic_byte(dev, ANTSEL, 0x03); - /* Config OFDM RX antenna. */ - write_phy_ofdm(dev, 0x0d, 0x5c); /* Reg0d : 5c */ - write_phy_ofdm(dev, 0x18, 0xb2); /* Reg18 : b2 */ - } - } else { - /* Disable Antenna Diversity. */ - if (DefaultAnt == 1) { /* aux Antenna */ - /* Mac register, aux antenna */ - write_nic_byte(dev, ANTSEL, 0x00); + /* Config CCK RX antenna. */ + write_phy_cck(dev, 0x11, 0x9b); /* Reg11 : 9b */ + write_phy_cck(dev, 0x01, 0x47|ant_diversity_offset); /* Reg01 : 47 */ - /* Config CCK RX antenna. */ - write_phy_cck(dev, 0x11, 0xbb); /* Reg11 : bb */ - write_phy_cck(dev, 0x01, 0x47); /* Reg01 : 47 */ - - /* Config OFDM RX antenna. */ - write_phy_ofdm(dev, 0x0D, 0x54); /* Reg0d : 54 */ - write_phy_ofdm(dev, 0x18, 0x32); /* Reg18 : 32 */ - } else { /* main Antenna */ - /* Mac register, main antenna */ - write_nic_byte(dev, ANTSEL, 0x03); - - /* Config CCK RX antenna. */ - write_phy_cck(dev, 0x11, 0x9b); /* Reg11 : 9b */ - write_phy_cck(dev, 0x01, 0x47); /* Reg01 : 47 */ - - /* Config OFDM RX antenna. */ - write_phy_ofdm(dev, 0x0D, 0x5c); /* Reg0d : 5c */ - write_phy_ofdm(dev, 0x18, 0x32); /*Reg18 : 32 */ - } + /* Config OFDM RX antenna. */ + write_phy_ofdm(dev, 0x0D, 0x5c); /* Reg0d : 5c */ + write_phy_ofdm(dev, 0x18, 0x32|ant_diversity_offset); /*Reg18 : 32 */ } priv->CurrAntennaIndex = DefaultAnt; /* Update default settings. */ return bAntennaSwitched;