mirror of
https://github.com/lwfinger/rtl8188eu.git
synced 2025-05-17 18:43:05 +00:00
rtl8188eu: Fix build for kernels through 5.15
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
This commit is contained in:
parent
4a9ce5af3f
commit
65bb1fa9d4
17 changed files with 204 additions and 3 deletions
|
@ -19,9 +19,12 @@
|
|||
******************************************************************************/
|
||||
#define _RTW_BR_EXT_C_
|
||||
|
||||
#include <linux/version.h>
|
||||
#include <linux/if_arp.h>
|
||||
#include <net/ip.h>
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
|
||||
#include <net/ipx.h>
|
||||
#endif
|
||||
#include <linux/atalk.h>
|
||||
#include <linux/udp.h>
|
||||
#include <linux/if_pppox.h>
|
||||
|
@ -663,7 +666,7 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
|
|||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
|
||||
/* IPX */
|
||||
if (ipx != NULL) {
|
||||
switch (method) {
|
||||
|
@ -795,6 +798,7 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
|
|||
return -1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
return -1;
|
||||
} else if ((protocol == ETH_P_PPP_DISC) ||
|
||||
|
|
|
@ -26,9 +26,17 @@
|
|||
/* Callback function of LED BlinkTimer, */
|
||||
/* it just schedules to corresponding BlinkWorkItem/led_blink_hdl */
|
||||
/* */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
void BlinkTimerCallback(struct timer_list *t)
|
||||
#else
|
||||
void BlinkTimerCallback(void *data)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct LED_871x *pLed = from_timer(pLed, t, BlinkTimer);
|
||||
#else
|
||||
struct LED_871x *pLed = (struct LED_871x *)data;
|
||||
#endif
|
||||
struct adapter *padapter = pLed->padapter;
|
||||
|
||||
if ((padapter->bSurpriseRemoved) || (padapter->bDriverStopped))
|
||||
|
@ -78,7 +86,11 @@ void InitLed871x(struct adapter *padapter, struct LED_871x *pLed, enum LED_PIN_8
|
|||
|
||||
ResetLedStatus(pLed);
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
timer_setup(&pLed->BlinkTimer, BlinkTimerCallback, 0);
|
||||
#else
|
||||
_init_timer(&(pLed->BlinkTimer), padapter->pnetdev, BlinkTimerCallback, pLed);
|
||||
#endif
|
||||
|
||||
_init_workitem(&(pLed->BlinkWorkItem), BlinkWorkItemCallback, pLed);
|
||||
}
|
||||
|
|
|
@ -1744,9 +1744,17 @@ exit:
|
|||
return res;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void reset_ch_sitesurvey_timer_process(struct timer_list *t)
|
||||
#else
|
||||
static void reset_ch_sitesurvey_timer_process (void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *adapter = from_timer(adapter, t, pwrctrlpriv.pwr_state_check_timer);
|
||||
#else
|
||||
struct adapter *adapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
struct wifidirect_info *pwdinfo = &adapter->wdinfo;
|
||||
|
||||
if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
|
||||
|
@ -1758,9 +1766,17 @@ static void reset_ch_sitesurvey_timer_process (void *FunctionContext)
|
|||
pwdinfo->rx_invitereq_info.scan_op_ch_only = 0;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void reset_ch_sitesurvey_timer_process2 (struct timer_list *t)
|
||||
#else
|
||||
static void reset_ch_sitesurvey_timer_process2 (void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *adapter = from_timer(adapter, t, pwrctrlpriv.pwr_state_check_timer);
|
||||
#else
|
||||
struct adapter *adapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
struct wifidirect_info *pwdinfo = &adapter->wdinfo;
|
||||
|
||||
if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
|
||||
|
@ -1772,9 +1788,17 @@ static void reset_ch_sitesurvey_timer_process2 (void *FunctionContext)
|
|||
pwdinfo->p2p_info.scan_op_ch_only = 0;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void restore_p2p_state_timer_process(struct timer_list *t)
|
||||
#else
|
||||
static void restore_p2p_state_timer_process (void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *adapter = from_timer(adapter, t, wdinfo.restore_p2p_state_timer);
|
||||
#else
|
||||
struct adapter *adapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
struct wifidirect_info *pwdinfo = &adapter->wdinfo;
|
||||
|
||||
if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
|
||||
|
@ -1783,9 +1807,17 @@ static void restore_p2p_state_timer_process (void *FunctionContext)
|
|||
p2p_protocol_wk_cmd(adapter, P2P_RESTORE_STATE_WK);
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void pre_tx_scan_timer_process(struct timer_list *t)
|
||||
#else
|
||||
static void pre_tx_scan_timer_process(void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *adapter = from_timer(adapter, t, wdinfo.pre_tx_scan_timer);
|
||||
#else
|
||||
struct adapter *adapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
struct wifidirect_info *pwdinfo = &adapter->wdinfo;
|
||||
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
||||
|
||||
|
@ -1813,9 +1845,17 @@ static void pre_tx_scan_timer_process(void *FunctionContext)
|
|||
spin_unlock_bh(&pmlmepriv->lock);
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void find_phase_timer_process(struct timer_list *t)
|
||||
#else
|
||||
static void find_phase_timer_process(void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *adapter = from_timer(adapter, t, wdinfo.find_phase_timer);
|
||||
#else
|
||||
struct adapter *adapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
struct wifidirect_info *pwdinfo = &adapter->wdinfo;
|
||||
|
||||
if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
|
||||
|
@ -1841,11 +1881,19 @@ void rtw_init_wifidirect_timers(struct adapter *padapter)
|
|||
{
|
||||
struct wifidirect_info *pwdinfo = &padapter->wdinfo;
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
timer_setup(&pwdinfo->find_phase_timer, find_phase_timer_process, 0);
|
||||
timer_setup(&pwdinfo->restore_p2p_state_timer, restore_p2p_state_timer_process, 0);
|
||||
timer_setup(&pwdinfo->pre_tx_scan_timer, pre_tx_scan_timer_process, 0);
|
||||
timer_setup(&pwdinfo->reset_ch_sitesurvey, reset_ch_sitesurvey_timer_process, 0);
|
||||
timer_setup(&pwdinfo->reset_ch_sitesurvey2, reset_ch_sitesurvey_timer_process2, 0);
|
||||
#else
|
||||
_init_timer(&pwdinfo->find_phase_timer, padapter->pnetdev, find_phase_timer_process, padapter);
|
||||
_init_timer(&pwdinfo->restore_p2p_state_timer, padapter->pnetdev, restore_p2p_state_timer_process, padapter);
|
||||
_init_timer(&pwdinfo->pre_tx_scan_timer, padapter->pnetdev, pre_tx_scan_timer_process, padapter);
|
||||
_init_timer(&pwdinfo->reset_ch_sitesurvey, padapter->pnetdev, reset_ch_sitesurvey_timer_process, padapter);
|
||||
_init_timer(&pwdinfo->reset_ch_sitesurvey2, padapter->pnetdev, reset_ch_sitesurvey_timer_process2, padapter);
|
||||
#endif
|
||||
}
|
||||
|
||||
void rtw_init_wifidirect_addrs(struct adapter *padapter, u8 *dev_addr, u8 *iface_addr)
|
||||
|
@ -1987,8 +2035,10 @@ int rtw_p2p_enable(struct adapter *padapter, enum P2P_ROLE role)
|
|||
_cancel_timer_ex(&pwdinfo->pre_tx_scan_timer);
|
||||
_cancel_timer_ex(&pwdinfo->reset_ch_sitesurvey);
|
||||
_cancel_timer_ex(&pwdinfo->reset_ch_sitesurvey2);
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
|
||||
reset_ch_sitesurvey_timer_process(padapter);
|
||||
reset_ch_sitesurvey_timer_process2(padapter);
|
||||
#endif
|
||||
rtw_p2p_set_state(pwdinfo, P2P_STATE_NONE);
|
||||
rtw_p2p_set_role(pwdinfo, P2P_ROLE_DISABLE);
|
||||
memset(&pwdinfo->rx_prov_disc_info, 0x00, sizeof(struct rx_provdisc_req_info));
|
||||
|
|
|
@ -208,9 +208,19 @@ exit:
|
|||
return;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void pwr_state_check_handler(struct timer_list *t)
|
||||
#else
|
||||
static void pwr_state_check_handler(void *FunctionContext)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *padapter =
|
||||
from_timer(padapter, t,
|
||||
pwrctrlpriv.pwr_state_check_timer);
|
||||
#else
|
||||
struct adapter *padapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
rtw_ps_cmd(padapter);
|
||||
}
|
||||
|
||||
|
@ -498,7 +508,11 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
|
|||
|
||||
pwrctrlpriv->btcoex_rfon = false;
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
timer_setup(&pwrctrlpriv->pwr_state_check_timer, pwr_state_check_handler, 0);
|
||||
#else
|
||||
_init_timer(&(pwrctrlpriv->pwr_state_check_timer), padapter->pnetdev, pwr_state_check_handler, (u8 *)padapter);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,11 @@ static u8 rtw_rfc1042_header[] = {
|
|||
0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
void rtw_signal_stat_timer_hdl(struct timer_list *);
|
||||
#else
|
||||
void rtw_signal_stat_timer_hdl(RTW_TIMER_HDL_ARGS);
|
||||
#endif
|
||||
|
||||
void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv)
|
||||
{
|
||||
|
@ -103,7 +107,11 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
|
|||
|
||||
res = rtw_hal_init_recv_priv(padapter);
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
timer_setup(&precvpriv->signal_stat_timer, rtw_signal_stat_timer_hdl, 0);
|
||||
#else
|
||||
_init_timer(&precvpriv->signal_stat_timer, padapter->pnetdev, RTW_TIMER_HDL_NAME(signal_stat), padapter);
|
||||
#endif
|
||||
|
||||
precvpriv->signal_stat_sampling_interval = 1000; /* ms */
|
||||
|
||||
|
@ -2183,9 +2191,17 @@ _recv_entry_drop:
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
void rtw_signal_stat_timer_hdl(struct timer_list *t)
|
||||
#else
|
||||
void rtw_signal_stat_timer_hdl(RTW_TIMER_HDL_ARGS)
|
||||
#endif
|
||||
{
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
struct adapter *adapter = from_timer(adapter, t, recvpriv.signal_stat_timer);
|
||||
#else
|
||||
struct adapter *adapter = (struct adapter *)FunctionContext;
|
||||
#endif
|
||||
struct recv_priv *recvpriv = &adapter->recvpriv;
|
||||
|
||||
u32 tmp_s, tmp_q;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue