mirror of
https://github.com/Mange/rtl8192eu-linux-driver
synced 2024-11-22 05:25:03 +00:00
Merge pull request #70 from CGarces/kernel_4.15
Fix compilation with Kernel 4.15
This commit is contained in:
commit
4094004320
@ -26,7 +26,8 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
packages:
|
packages:
|
||||||
- gcc-5
|
- gcc-5
|
||||||
env: COMPILER=gcc-5 KVER=4.14
|
- libelf-dev
|
||||||
|
env: COMPILER=gcc-5 KVER=4.15-rc6
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@ -34,7 +35,8 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
packages:
|
packages:
|
||||||
- gcc-6
|
- gcc-6
|
||||||
env: COMPILER=gcc-6 KVER=4.14
|
- libelf-dev
|
||||||
|
env: COMPILER=gcc-6 KVER=4.15-rc6
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@ -42,7 +44,8 @@ matrix:
|
|||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
packages:
|
packages:
|
||||||
- gcc-7
|
- gcc-7
|
||||||
env: COMPILER=gcc-7 KVER=4.14
|
- libelf-dev
|
||||||
|
env: COMPILER=gcc-7 KVER=4.15-rc6
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
|
@ -152,7 +152,11 @@ typedef enum _RT_SPINLOCK_TYPE{
|
|||||||
|
|
||||||
typedef struct rtl8192cd_priv *prtl8192cd_priv;
|
typedef struct rtl8192cd_priv *prtl8192cd_priv;
|
||||||
typedef struct stat_info STA_INFO_T,*PSTA_INFO_T;
|
typedef struct stat_info STA_INFO_T,*PSTA_INFO_T;
|
||||||
|
#if defined (LINUX_VERSION_CODE) && (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
typedef struct legacy_timer_emu RT_TIMER, *PRT_TIMER;
|
||||||
|
#else
|
||||||
typedef struct timer_list RT_TIMER, *PRT_TIMER;
|
typedef struct timer_list RT_TIMER, *PRT_TIMER;
|
||||||
|
#endif
|
||||||
typedef void * RT_TIMER_CALL_BACK;
|
typedef void * RT_TIMER_CALL_BACK;
|
||||||
|
|
||||||
#ifdef CONFIG_PCI_HCI
|
#ifdef CONFIG_PCI_HCI
|
||||||
@ -222,7 +226,11 @@ typedef enum _RT_SPINLOCK_TYPE{
|
|||||||
#define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG
|
#define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined (LINUX_VERSION_CODE) && (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
typedef struct legacy_timer_emu RT_TIMER, *PRT_TIMER;
|
||||||
|
#else
|
||||||
typedef struct timer_list RT_TIMER, *PRT_TIMER;
|
typedef struct timer_list RT_TIMER, *PRT_TIMER;
|
||||||
|
#endif
|
||||||
typedef void * RT_TIMER_CALL_BACK;
|
typedef void * RT_TIMER_CALL_BACK;
|
||||||
#define STA_INFO_T struct sta_info
|
#define STA_INFO_T struct sta_info
|
||||||
#define PSTA_INFO_T struct sta_info *
|
#define PSTA_INFO_T struct sta_info *
|
||||||
|
@ -318,15 +318,17 @@ extern void rtw_udelay_os(int us);
|
|||||||
|
|
||||||
extern void rtw_yield_os(void);
|
extern void rtw_yield_os(void);
|
||||||
|
|
||||||
|
|
||||||
extern void rtw_init_timer(_timer *ptimer, void *padapter, void *pfunc);
|
extern void rtw_init_timer(_timer *ptimer, void *padapter, void *pfunc);
|
||||||
|
|
||||||
|
|
||||||
__inline static unsigned char _cancel_timer_ex(_timer *ptimer)
|
__inline static unsigned char _cancel_timer_ex(_timer *ptimer)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_LINUX
|
#ifdef PLATFORM_LINUX
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
return del_timer_sync(&ptimer->t);
|
||||||
|
#else
|
||||||
return del_timer_sync(ptimer);
|
return del_timer_sync(ptimer);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
#ifdef PLATFORM_FREEBSD
|
#ifdef PLATFORM_FREEBSD
|
||||||
_cancel_timer(ptimer,0);
|
_cancel_timer(ptimer,0);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -133,7 +133,15 @@
|
|||||||
#else
|
#else
|
||||||
typedef struct semaphore _mutex;
|
typedef struct semaphore _mutex;
|
||||||
#endif
|
#endif
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
typedef struct legacy_timer_emu {
|
||||||
|
struct timer_list t;
|
||||||
|
void (*function)(unsigned long);
|
||||||
|
unsigned long data;
|
||||||
|
} _timer;
|
||||||
|
#else
|
||||||
typedef struct timer_list _timer;
|
typedef struct timer_list _timer;
|
||||||
|
#endif
|
||||||
|
|
||||||
struct __queue {
|
struct __queue {
|
||||||
struct list_head queue;
|
struct list_head queue;
|
||||||
@ -266,26 +274,45 @@ __inline static void rtw_list_delete(_list *plist)
|
|||||||
|
|
||||||
#define RTW_TIMER_HDL_ARGS void *FunctionContext
|
#define RTW_TIMER_HDL_ARGS void *FunctionContext
|
||||||
|
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
static void legacy_timer_emu_func(struct timer_list *t)
|
||||||
|
{
|
||||||
|
struct legacy_timer_emu *lt = from_timer(lt, t, t);
|
||||||
|
lt->function(lt->data);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
__inline static void _init_timer(_timer *ptimer,_nic_hdl nic_hdl,void *pfunc,void* cntx)
|
__inline static void _init_timer(_timer *ptimer,_nic_hdl nic_hdl,void *pfunc,void* cntx)
|
||||||
{
|
{
|
||||||
//setup_timer(ptimer, pfunc,(u32)cntx);
|
//setup_timer(ptimer, pfunc,(u32)cntx);
|
||||||
ptimer->function = pfunc;
|
ptimer->function = pfunc;
|
||||||
ptimer->data = (unsigned long)cntx;
|
ptimer->data = (unsigned long)cntx;
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
timer_setup(&ptimer->t, legacy_timer_emu_func, 0);
|
||||||
|
#else
|
||||||
init_timer(ptimer);
|
init_timer(ptimer);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _set_timer(_timer *ptimer,u32 delay_time)
|
__inline static void _set_timer(_timer *ptimer,u32 delay_time)
|
||||||
{
|
{
|
||||||
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
mod_timer(&ptimer->t, (jiffies+(delay_time*HZ/1000)));
|
||||||
|
#else
|
||||||
mod_timer(ptimer , (jiffies+(delay_time*HZ/1000)));
|
mod_timer(ptimer , (jiffies+(delay_time*HZ/1000)));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline static void _cancel_timer(_timer *ptimer,u8 *bcancelled)
|
__inline static void _cancel_timer(_timer *ptimer,u8 *bcancelled)
|
||||||
{
|
{
|
||||||
del_timer_sync(ptimer);
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||||
|
del_timer_sync(&ptimer->t);
|
||||||
|
#else
|
||||||
|
del_timer_sync(ptimer);
|
||||||
|
#endif
|
||||||
*bcancelled = 1;
|
*bcancelled = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static inline void _init_workitem(_workitem *pwork, void *pfunc, void *cntx)
|
static inline void _init_workitem(_workitem *pwork, void *pfunc, void *cntx)
|
||||||
{
|
{
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20))
|
||||||
|
Loading…
Reference in New Issue
Block a user