package/devel/binutils: Update to 2.27
[openwrt/staging/chunkeey.git] / package / kernel / mac80211 / patches / 656-0002-rtl8xxxu-Clean-up-llt_init-API.patch
1 From c0a99bbb1b7a11605a53f84f5c444be3ef25a8ab Mon Sep 17 00:00:00 2001
2 From: Jes Sorensen <Jes.Sorensen@redhat.com>
3 Date: Tue, 20 Sep 2016 21:19:27 -0400
4 Subject: [PATCH] rtl8xxxu: Clean up llt_init() API
5
6 Remove last_tx_page argument from the llt_init() function. The
7 rtl8xxxu_fileops structure contains the correct TX_TOTAL_PAGE_NUM
8 value for the device, and rtl8xxxu_auto_llt_table() doesn't need to
9 know the value in the first place.
10
11 Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
12 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
13 ---
14 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 6 +++---
15 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 ++++++---
16 2 files changed, 9 insertions(+), 6 deletions(-)
17
18 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
19 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
20 @@ -1318,7 +1318,7 @@ struct rtl8xxxu_fileops {
21 int (*power_on) (struct rtl8xxxu_priv *priv);
22 void (*power_off) (struct rtl8xxxu_priv *priv);
23 void (*reset_8051) (struct rtl8xxxu_priv *priv);
24 - int (*llt_init) (struct rtl8xxxu_priv *priv, u8 last_tx_page);
25 + int (*llt_init) (struct rtl8xxxu_priv *priv);
26 void (*init_phy_bb) (struct rtl8xxxu_priv *priv);
27 int (*init_phy_rf) (struct rtl8xxxu_priv *priv);
28 void (*phy_init_antenna_selection) (struct rtl8xxxu_priv *priv);
29 @@ -1400,14 +1400,14 @@ int rtl8xxxu_load_firmware(struct rtl8xx
30 void rtl8xxxu_firmware_self_reset(struct rtl8xxxu_priv *priv);
31 void rtl8xxxu_power_off(struct rtl8xxxu_priv *priv);
32 void rtl8xxxu_reset_8051(struct rtl8xxxu_priv *priv);
33 -int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page);
34 +int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv);
35 void rtl8xxxu_gen2_prepare_calibrate(struct rtl8xxxu_priv *priv, u8 start);
36 int rtl8xxxu_flush_fifo(struct rtl8xxxu_priv *priv);
37 int rtl8xxxu_gen2_h2c_cmd(struct rtl8xxxu_priv *priv,
38 struct h2c_cmd *h2c, int len);
39 int rtl8xxxu_active_to_lps(struct rtl8xxxu_priv *priv);
40 void rtl8xxxu_disabled_to_emu(struct rtl8xxxu_priv *priv);
41 -int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page);
42 +int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv);
43 void rtl8xxxu_gen1_phy_iq_calibrate(struct rtl8xxxu_priv *priv);
44 void rtl8xxxu_gen1_init_phy_bb(struct rtl8xxxu_priv *priv);
45 void rtl8xxxu_gen1_set_tx_power(struct rtl8xxxu_priv *priv,
46 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
47 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
48 @@ -2472,10 +2472,13 @@ static int rtl8xxxu_llt_write(struct rtl
49 return ret;
50 }
51
52 -int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page)
53 +int rtl8xxxu_init_llt_table(struct rtl8xxxu_priv *priv)
54 {
55 int ret;
56 int i;
57 + u8 last_tx_page;
58 +
59 + last_tx_page = priv->fops->total_page_num;
60
61 for (i = 0; i < last_tx_page; i++) {
62 ret = rtl8xxxu_llt_write(priv, i, i + 1);
63 @@ -2503,7 +2506,7 @@ exit:
64 return ret;
65 }
66
67 -int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv, u8 last_tx_page)
68 +int rtl8xxxu_auto_llt_table(struct rtl8xxxu_priv *priv)
69 {
70 u32 val32;
71 int ret = 0;
72 @@ -3988,7 +3991,7 @@ static int rtl8xxxu_init_device(struct i
73
74 dev_dbg(dev, "%s: macpower %i\n", __func__, macpower);
75 if (!macpower) {
76 - ret = priv->fops->llt_init(priv, TX_TOTAL_PAGE_NUM);
77 + ret = priv->fops->llt_init(priv);
78 if (ret) {
79 dev_warn(dev, "%s: LLT table init failed\n", __func__);
80 goto exit;