summaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/656-0003-rtl8xxxu-Use-a-struct-rtl8xxxu_fileops-in-rtl8xxxu_i.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/656-0003-rtl8xxxu-Use-a-struct-rtl8xxxu_fileops-in-rtl8xxxu_i.patch')
-rw-r--r--package/kernel/mac80211/patches/656-0003-rtl8xxxu-Use-a-struct-rtl8xxxu_fileops-in-rtl8xxxu_i.patch150
1 files changed, 150 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/656-0003-rtl8xxxu-Use-a-struct-rtl8xxxu_fileops-in-rtl8xxxu_i.patch b/package/kernel/mac80211/patches/656-0003-rtl8xxxu-Use-a-struct-rtl8xxxu_fileops-in-rtl8xxxu_i.patch
new file mode 100644
index 0000000000..c423a2c544
--- /dev/null
+++ b/package/kernel/mac80211/patches/656-0003-rtl8xxxu-Use-a-struct-rtl8xxxu_fileops-in-rtl8xxxu_i.patch
@@ -0,0 +1,150 @@
+From 2fc5dd27bf9b75d83a7071d13cca044bc39748fb Mon Sep 17 00:00:00 2001
+From: Jes Sorensen <Jes.Sorensen@redhat.com>
+Date: Tue, 20 Sep 2016 21:19:28 -0400
+Subject: [PATCH] rtl8xxxu: Use a struct rtl8xxxu_fileops * in
+ rtl8xxxu_init_device()
+
+This saves some 217, or about, derefences of priv->fops.
+
+Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 37 +++++++++++-----------
+ 1 file changed, 19 insertions(+), 18 deletions(-)
+
+--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
++++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+@@ -3886,6 +3886,7 @@ static int rtl8xxxu_init_device(struct i
+ {
+ struct rtl8xxxu_priv *priv = hw->priv;
+ struct device *dev = &priv->udev->dev;
++ struct rtl8xxxu_fileops *fops = priv->fops;
+ bool macpower;
+ int ret;
+ u8 val8;
+@@ -3904,7 +3905,7 @@ static int rtl8xxxu_init_device(struct i
+ else
+ macpower = true;
+
+- ret = priv->fops->power_on(priv);
++ ret = fops->power_on(priv);
+ if (ret < 0) {
+ dev_warn(dev, "%s: Failed power on\n", __func__);
+ goto exit;
+@@ -3921,7 +3922,7 @@ static int rtl8xxxu_init_device(struct i
+ /*
+ * 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);
+ dev_dbg(dev, "%s: download_firmware %i\n", __func__, ret);
+@@ -3932,8 +3933,8 @@ static int rtl8xxxu_init_device(struct i
+ if (ret)
+ goto exit;
+
+- if (priv->fops->phy_init_antenna_selection)
+- priv->fops->phy_init_antenna_selection(priv);
++ if (fops->phy_init_antenna_selection)
++ fops->phy_init_antenna_selection(priv);
+
+ ret = rtl8xxxu_init_mac(priv);
+
+@@ -3946,7 +3947,7 @@ static int rtl8xxxu_init_device(struct i
+ if (ret)
+ goto exit;
+
+- ret = priv->fops->init_phy_rf(priv);
++ ret = fops->init_phy_rf(priv);
+ if (ret)
+ goto exit;
+
+@@ -3971,7 +3972,7 @@ static int rtl8xxxu_init_device(struct i
+ /*
+ * 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_MGQ_BDNY, val8);
+@@ -3984,14 +3985,14 @@ static int rtl8xxxu_init_device(struct i
+ * The vendor drivers set PBP for all devices, except 8192e.
+ * There is no explanation for this in any of the sources.
+ */
+- val8 = (priv->fops->pbp_rx << PBP_PAGE_SIZE_RX_SHIFT) |
+- (priv->fops->pbp_tx << PBP_PAGE_SIZE_TX_SHIFT);
++ val8 = (fops->pbp_rx << PBP_PAGE_SIZE_RX_SHIFT) |
++ (fops->pbp_tx << PBP_PAGE_SIZE_TX_SHIFT);
+ if (priv->rtl_chip != RTL8192E)
+ rtl8xxxu_write8(priv, REG_PBP, val8);
+
+ dev_dbg(dev, "%s: macpower %i\n", __func__, macpower);
+ if (!macpower) {
+- ret = priv->fops->llt_init(priv);
++ ret = fops->llt_init(priv);
+ if (ret) {
+ dev_warn(dev, "%s: LLT table init failed\n", __func__);
+ goto exit;
+@@ -4000,12 +4001,12 @@ static int rtl8xxxu_init_device(struct i
+ /*
+ * Chip specific quirks
+ */
+- priv->fops->usb_quirks(priv);
++ fops->usb_quirks(priv);
+
+ /*
+ * 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 |= TX_REPORT_CTRL_TIMER_ENABLE;
+ rtl8xxxu_write8(priv, REG_TX_REPORT_CTRL, val8);
+@@ -4140,8 +4141,8 @@ static int rtl8xxxu_init_device(struct i
+ rtl8xxxu_write8(priv, REG_RSV_CTRL, val8);
+ }
+
+- if (priv->fops->init_aggregation)
+- priv->fops->init_aggregation(priv);
++ if (fops->init_aggregation)
++ fops->init_aggregation(priv);
+
+ /*
+ * Enable CCK and OFDM block
+@@ -4158,7 +4159,7 @@ static int rtl8xxxu_init_device(struct i
+ /*
+ * 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 */
+ if (priv->rtl_chip != RTL8192E) {
+@@ -4174,8 +4175,8 @@ static int rtl8xxxu_init_device(struct i
+
+ rtl8xxxu_write16(priv, REG_FAST_EDCA_CTRL, 0);
+
+- if (priv->fops->init_statistics)
+- priv->fops->init_statistics(priv);
++ if (fops->init_statistics)
++ fops->init_statistics(priv);
+
+ if (priv->rtl_chip == RTL8192E) {
+ /*
+@@ -4193,12 +4194,12 @@ static int rtl8xxxu_init_device(struct i
+
+ rtl8723a_phy_lc_calibrate(priv);
+
+- priv->fops->phy_iq_calibrate(priv);
++ fops->phy_iq_calibrate(priv);
+
+ /*
+ * This should enable thermal meter
+ */
+- if (priv->fops->gen2_thermal_meter)
++ if (fops->gen2_thermal_meter)
+ rtl8xxxu_write_rfreg(priv,
+ RF_A, RF6052_REG_T_METER_8723B, 0x37cf8);
+ else