9#if defined(_PRE_OS_VERSION_LINUX) && defined(_PRE_OS_VERSION) && (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION)
13#include <linux/compiler.h>
14#include <linux/kernel.h>
15#include <linux/kallsyms.h>
16#include <asm/string.h>
17#include <linux/thread_info.h>
18#include <asm/byteorder.h>
19#include <linux/byteorder/generic.h>
20#include <linux/bitops.h>
22#include <linux/delay.h>
24#include <linux/kobject.h>
25#include <linux/device.h>
26#include <linux/sysfs.h>
27#include <linux/etherdevice.h>
28#include <linux/version.h>
29#include <linux/math64.h>
31#include <linux/ktime.h>
50#if defined(_PRE_OS_VERSION_LINUX) && defined(_PRE_OS_VERSION) && (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION)
56#define OAL_CONST const
58typedef struct file oal_file_stru;
59#define OAL_FILE_FAIL OAL_PTR_NULL
62#define OAL_RMB() rmb()
65#define OAL_WMB() wmb()
70#define OAL_OFFSET_OF offsetof
72#define OAL_PLAT_MEM_BASE_ADDR 0x80000000
74typedef struct device_attribute oal_device_attribute_stru;
75typedef struct device oal_device_stru;
76#define OAL_DEVICE_ATTR DEVICE_ATTR
77#define OAL_S_IRUGO S_IRUGO
78#define OAL_S_IWGRP S_IWGRP
79#define OAL_S_IWUSR S_IWUSR
80typedef struct kobject oal_kobject;
82#define OAL_STRCMP strcmp
83#define OAL_STRNCMP strncmp
84#define OAL_STRNCASECMP strncasecmp
89#define SIZE_OF_SIZE1_NOT_LARGER_THAN_SIZE2_BY_NAME(name, size1, size2) \
90static inline char size_of_##name##_size1_not_larger_than_size2(void) \
92 char __dummy1[size2 - size1]; \
97#define SIZE_OF_TYPE_NOT_LARGER_THAN_DETECT(type, size) \
98static inline char size_of_##type##_not_larger_than_##size(void) \
100 char __dummy1[size - sizeof(type)]; \
101 return __dummy1[0]; \
105#define time_cost_var_start(name) local_cost_time_start_##name
106#define time_cost_var_end(name) local_cost_time_end_##name
107#define time_cost_var_sub(name) trans_us_##name
109#define oal_get_time_cost_start(name) time_cost_var_start(name) = ktime_get()
110#define oal_get_time_cost_end(name) time_cost_var_end(name) = ktime_get()
111#define oal_calc_time_cost_sub(name) time_cost_var_sub(name) = \
112 (osal_u64)ktime_to_us(ktime_sub(time_cost_var_end(name), time_cost_var_start(name)))
126 printk(
"buf %p,len:%d\n",
129 print_hex_dump(KERN_ERR, pre_str, DUMP_PREFIX_ADDRESS, 16, 1,
142 ull_tmp = div_u64(dividend, divisor);
152#define OAL_VA_START va_start
153#define OAL_VA_END va_end
155#define OAL_VA_LIST va_list
157#define HCC_DATA_LEN_ALIGN 32
162#define OAL_SIZEOF sizeof
165#define OAL_ARRAY_SIZE(_ast_array) (sizeof(_ast_array) / sizeof((_ast_array)[0]))
168#define OAL_GET_4BYTE_ALIGN_VALUE(_ul_size) (((_ul_size) + 0x03) & (~0x03))
171#define OAL_CURRENT_TASK (current_thread_info()->task)
174#if defined(_PRE_BIG_CPU_ENDIAN) && defined(_PRE_CPU_ENDIAN) && (_PRE_BIG_CPU_ENDIAN == _PRE_CPU_ENDIAN)
175#define oal_byteorder_to_le32(_val) oal_swap_byteorder_32(_val)
176#define oal_byteorder_to_le16(_val) oal_swap_byteorder_16(_val)
179#elif defined(_PRE_LITTLE_CPU_ENDIAN) && defined(_PRE_CPU_ENDIAN) && (_PRE_LITTLE_CPU_ENDIAN == _PRE_CPU_ENDIAN)
180#define oal_byteorder_to_le32(_val) (_val)
181#define oal_byteorder_to_le16(_val) (_val)
185#define OAL_MIN(_A, _B) (((_A) < (_B)) ? (_A) : (_B))
188#define OAL_MAX(_A, _B) (((_A) > (_B)) ? (_A) : (_B))
190#define OAL_SUB(_A, _B) (((_A) > (_B)) ? ((_A) - (_B)) : (0))
192#define OAL_ABSOLUTE_SUB(_A, _B) (((_A) > (_B)) ? ((_A) - (_B)) : ((_B) - (_A)))
196#define BIT(nr) (1UL << (nr))
199#define OAL_BITS_PER_BYTE 8
202#define OAL_SET_BIT(_val) (1 << (_val))
203#define oal_write_bits(_data, _val, _bits, _pos) do { \
204 (_data) &= ~((((osal_u32)1 << (_bits)) - 1) << (_pos)); \
205 (_data) |= (((_val) & (((osal_u32)1 << (_bits)) - 1)) << (_pos)); \
208#define OAL_IPV6_ADDR_LEN 16
#define OAL_INLINE
Definition driver_soc_common.h:47
#define oal_reference(data)
Definition oal_types.h:43
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
signed char osal_s8
Definition osal_types.h:17
unsigned long long osal_u64
Definition osal_types.h:14
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
#define OAL_STATIC
Definition soc_wifi_service_api.c:30