Commit 2fc5dd27 authored by Jes Sorensen's avatar Jes Sorensen Committed by Kalle Valo

rtl8xxxu: Use a struct rtl8xxxu_fileops * in rtl8xxxu_init_device()

This saves some 217, or about, derefences of priv->fops.
Signed-off-by: default avatarJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent c0a99bbb
...@@ -3886,6 +3886,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3886,6 +3886,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
{ {
struct rtl8xxxu_priv *priv = hw->priv; struct rtl8xxxu_priv *priv = hw->priv;
struct device *dev = &priv->udev->dev; struct device *dev = &priv->udev->dev;
struct rtl8xxxu_fileops *fops = priv->fops;
bool macpower; bool macpower;
int ret; int ret;
u8 val8; u8 val8;
...@@ -3904,7 +3905,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3904,7 +3905,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
else else
macpower = true; macpower = true;
ret = priv->fops->power_on(priv); ret = fops->power_on(priv);
if (ret < 0) { if (ret < 0) {
dev_warn(dev, "%s: Failed power on\n", __func__); dev_warn(dev, "%s: Failed power on\n", __func__);
goto exit; goto exit;
...@@ -3921,7 +3922,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3921,7 +3922,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
/* /*
* Set RX page boundary * Set RX page boundary
*/ */
rtl8xxxu_write16(priv, REG_TRXFF_BNDY + 2, priv->fops->trxff_boundary); rtl8xxxu_write16(priv, REG_TRXFF_BNDY + 2, fops->trxff_boundary);
ret = rtl8xxxu_download_firmware(priv); ret = rtl8xxxu_download_firmware(priv);
dev_dbg(dev, "%s: download_firmware %i\n", __func__, ret); dev_dbg(dev, "%s: download_firmware %i\n", __func__, ret);
...@@ -3932,8 +3933,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3932,8 +3933,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
if (ret) if (ret)
goto exit; goto exit;
if (priv->fops->phy_init_antenna_selection) if (fops->phy_init_antenna_selection)
priv->fops->phy_init_antenna_selection(priv); fops->phy_init_antenna_selection(priv);
ret = rtl8xxxu_init_mac(priv); ret = rtl8xxxu_init_mac(priv);
...@@ -3946,7 +3947,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3946,7 +3947,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
if (ret) if (ret)
goto exit; goto exit;
ret = priv->fops->init_phy_rf(priv); ret = fops->init_phy_rf(priv);
if (ret) if (ret)
goto exit; goto exit;
...@@ -3971,7 +3972,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3971,7 +3972,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
/* /*
* Set TX buffer boundary * Set TX buffer boundary
*/ */
val8 = priv->fops->total_page_num + 1; val8 = fops->total_page_num + 1;
rtl8xxxu_write8(priv, REG_TXPKTBUF_BCNQ_BDNY, val8); rtl8xxxu_write8(priv, REG_TXPKTBUF_BCNQ_BDNY, val8);
rtl8xxxu_write8(priv, REG_TXPKTBUF_MGQ_BDNY, val8); rtl8xxxu_write8(priv, REG_TXPKTBUF_MGQ_BDNY, val8);
...@@ -3984,14 +3985,14 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -3984,14 +3985,14 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
* The vendor drivers set PBP for all devices, except 8192e. * The vendor drivers set PBP for all devices, except 8192e.
* There is no explanation for this in any of the sources. * There is no explanation for this in any of the sources.
*/ */
val8 = (priv->fops->pbp_rx << PBP_PAGE_SIZE_RX_SHIFT) | val8 = (fops->pbp_rx << PBP_PAGE_SIZE_RX_SHIFT) |
(priv->fops->pbp_tx << PBP_PAGE_SIZE_TX_SHIFT); (fops->pbp_tx << PBP_PAGE_SIZE_TX_SHIFT);
if (priv->rtl_chip != RTL8192E) if (priv->rtl_chip != RTL8192E)
rtl8xxxu_write8(priv, REG_PBP, val8); rtl8xxxu_write8(priv, REG_PBP, val8);
dev_dbg(dev, "%s: macpower %i\n", __func__, macpower); dev_dbg(dev, "%s: macpower %i\n", __func__, macpower);
if (!macpower) { if (!macpower) {
ret = priv->fops->llt_init(priv); ret = fops->llt_init(priv);
if (ret) { if (ret) {
dev_warn(dev, "%s: LLT table init failed\n", __func__); dev_warn(dev, "%s: LLT table init failed\n", __func__);
goto exit; goto exit;
...@@ -4000,12 +4001,12 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -4000,12 +4001,12 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
/* /*
* Chip specific quirks * Chip specific quirks
*/ */
priv->fops->usb_quirks(priv); fops->usb_quirks(priv);
/* /*
* Enable TX report and TX report timer for 8723bu/8188eu/... * Enable TX report and TX report timer for 8723bu/8188eu/...
*/ */
if (priv->fops->has_tx_report) { if (fops->has_tx_report) {
val8 = rtl8xxxu_read8(priv, REG_TX_REPORT_CTRL); val8 = rtl8xxxu_read8(priv, REG_TX_REPORT_CTRL);
val8 |= TX_REPORT_CTRL_TIMER_ENABLE; val8 |= TX_REPORT_CTRL_TIMER_ENABLE;
rtl8xxxu_write8(priv, REG_TX_REPORT_CTRL, val8); rtl8xxxu_write8(priv, REG_TX_REPORT_CTRL, val8);
...@@ -4140,8 +4141,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -4140,8 +4141,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
rtl8xxxu_write8(priv, REG_RSV_CTRL, val8); rtl8xxxu_write8(priv, REG_RSV_CTRL, val8);
} }
if (priv->fops->init_aggregation) if (fops->init_aggregation)
priv->fops->init_aggregation(priv); fops->init_aggregation(priv);
/* /*
* Enable CCK and OFDM block * Enable CCK and OFDM block
...@@ -4158,7 +4159,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -4158,7 +4159,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
/* /*
* Start out with default power levels for channel 6, 20MHz * Start out with default power levels for channel 6, 20MHz
*/ */
priv->fops->set_tx_power(priv, 1, false); fops->set_tx_power(priv, 1, false);
/* Let the 8051 take control of antenna setting */ /* Let the 8051 take control of antenna setting */
if (priv->rtl_chip != RTL8192E) { if (priv->rtl_chip != RTL8192E) {
...@@ -4174,8 +4175,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -4174,8 +4175,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
rtl8xxxu_write16(priv, REG_FAST_EDCA_CTRL, 0); rtl8xxxu_write16(priv, REG_FAST_EDCA_CTRL, 0);
if (priv->fops->init_statistics) if (fops->init_statistics)
priv->fops->init_statistics(priv); fops->init_statistics(priv);
if (priv->rtl_chip == RTL8192E) { if (priv->rtl_chip == RTL8192E) {
/* /*
...@@ -4193,12 +4194,12 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) ...@@ -4193,12 +4194,12 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
rtl8723a_phy_lc_calibrate(priv); rtl8723a_phy_lc_calibrate(priv);
priv->fops->phy_iq_calibrate(priv); fops->phy_iq_calibrate(priv);
/* /*
* This should enable thermal meter * This should enable thermal meter
*/ */
if (priv->fops->gen2_thermal_meter) if (fops->gen2_thermal_meter)
rtl8xxxu_write_rfreg(priv, rtl8xxxu_write_rfreg(priv,
RF_A, RF6052_REG_T_METER_8723B, 0x37cf8); RF_A, RF6052_REG_T_METER_8723B, 0x37cf8);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment