xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/phl/pltfm_ops_macos.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  * Copyright(c) 2019 - 2020 Realtek Corporation.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * This program is free software; you can redistribute it and/or modify it
6*4882a593Smuzhiyun  * under the terms of version 2 of the GNU General Public License as
7*4882a593Smuzhiyun  * published by the Free Software Foundation.
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This program is distributed in the hope that it will be useful, but WITHOUT
10*4882a593Smuzhiyun  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12*4882a593Smuzhiyun  * more details.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *****************************************************************************/
15*4882a593Smuzhiyun #ifndef _PLTFM_OPS_MACOS_H_
16*4882a593Smuzhiyun #define _PLTFM_OPS_MACOS_H_
17*4882a593Smuzhiyun 
_os_strsep(char ** s,const char * ct)18*4882a593Smuzhiyun static __inline char *_os_strsep(char **s, const char *ct)
19*4882a593Smuzhiyun {
20*4882a593Smuzhiyun 	return NULL;
21*4882a593Smuzhiyun }
_os_sscanf(const char * buf,const char * fmt,...)22*4882a593Smuzhiyun static __inline int _os_sscanf(const char *buf, const char *fmt, ...)
23*4882a593Smuzhiyun {
24*4882a593Smuzhiyun 	return 0;
25*4882a593Smuzhiyun }
_os_strcmp(const char * s1,const char * s2)26*4882a593Smuzhiyun static __inline int _os_strcmp(const char *s1, const char *s2)
27*4882a593Smuzhiyun {
28*4882a593Smuzhiyun 	return 0;
29*4882a593Smuzhiyun }
_os_strncmp(const char * s1,const char * s2,size_t n)30*4882a593Smuzhiyun static __inline int _os_strncmp(const char *s1, const char *s2, size_t n)
31*4882a593Smuzhiyun {
32*4882a593Smuzhiyun 	return 0;
33*4882a593Smuzhiyun }
_os_strcpy(char * dest,const char * src)34*4882a593Smuzhiyun static __inline char *_os_strcpy(char *dest, const char *src)
35*4882a593Smuzhiyun {
36*4882a593Smuzhiyun 	return NULL;
37*4882a593Smuzhiyun }
_os_strncpy(char * dest,const char * src,size_t n)38*4882a593Smuzhiyun static inline char *_os_strncpy(char *dest, const char *src, size_t n)
39*4882a593Smuzhiyun {
40*4882a593Smuzhiyun 	return NULL;
41*4882a593Smuzhiyun }
_os_strchr(const char * s,int c)42*4882a593Smuzhiyun static __inline char *_os_strchr(const char *s, int c)
43*4882a593Smuzhiyun {
44*4882a593Smuzhiyun 	while (*s != (char)c)
45*4882a593Smuzhiyun 		if (*s++ == '\0')
46*4882a593Smuzhiyun 			return NULL;
47*4882a593Smuzhiyun 	return (char *)s;
48*4882a593Smuzhiyun }
_os_snprintf(char * str,size_t size,const char * format,...)49*4882a593Smuzhiyun static __inline int _os_snprintf(char *str, size_t size, const char *format, ...)
50*4882a593Smuzhiyun {
51*4882a593Smuzhiyun 	return 0;
52*4882a593Smuzhiyun }
53*4882a593Smuzhiyun 
_os_strlen(u8 * buf)54*4882a593Smuzhiyun static __inline u32 _os_strlen(u8 *buf)
55*4882a593Smuzhiyun {
56*4882a593Smuzhiyun 	return 0;
57*4882a593Smuzhiyun }
_os_delay_ms(void * h,u32 ms)58*4882a593Smuzhiyun static __inline void _os_delay_ms(void *h, u32 ms)
59*4882a593Smuzhiyun {
60*4882a593Smuzhiyun }
_os_delay_us(void * h,u32 us)61*4882a593Smuzhiyun static __inline void _os_delay_us(void *h, u32 us)
62*4882a593Smuzhiyun {
63*4882a593Smuzhiyun }
_os_sleep_ms(void * h,u32 ms)64*4882a593Smuzhiyun static __inline void _os_sleep_ms(void *h, u32 ms)
65*4882a593Smuzhiyun {
66*4882a593Smuzhiyun }
_os_sleep_us(void * h,u32 us)67*4882a593Smuzhiyun static __inline void _os_sleep_us(void *h, u32 us)
68*4882a593Smuzhiyun {
69*4882a593Smuzhiyun }
_os_get_cur_time_us(void)70*4882a593Smuzhiyun static inline u32 _os_get_cur_time_us(void)
71*4882a593Smuzhiyun {
72*4882a593Smuzhiyun 	return 0;
73*4882a593Smuzhiyun }
_os_get_cur_time_ms(void)74*4882a593Smuzhiyun static inline u32 _os_get_cur_time_ms(void)
75*4882a593Smuzhiyun {
76*4882a593Smuzhiyun 	return 0;
77*4882a593Smuzhiyun }
78*4882a593Smuzhiyun 
_os_modular64(u64 x,u64 y)79*4882a593Smuzhiyun static inline u64 _os_modular64(u64 x, u64 y)
80*4882a593Smuzhiyun {
81*4882a593Smuzhiyun 	return x % y;
82*4882a593Smuzhiyun }
_os_division64(u64 x,u64 y)83*4882a593Smuzhiyun static inline u64 _os_division64(u64 x, u64 y)
84*4882a593Smuzhiyun {
85*4882a593Smuzhiyun 	return x / y;
86*4882a593Smuzhiyun }
87*4882a593Smuzhiyun 
88*4882a593Smuzhiyun #ifdef CONFIG_PCI_HCI
_os_cache_inv(void * d,_dma * bus_addr_l,_dma * bus_addr_h,u32 buf_sz,u8 direction)89*4882a593Smuzhiyun static inline void _os_cache_inv(void *d, _dma *bus_addr_l, _dma *bus_addr_h,
90*4882a593Smuzhiyun 					u32 buf_sz, u8 direction)
91*4882a593Smuzhiyun {
92*4882a593Smuzhiyun }
_os_cache_wback(void * d,_dma * bus_addr_l,_dma * bus_addr_h,u32 buf_sz,u8 direction)93*4882a593Smuzhiyun static inline void _os_cache_wback(void *d, _dma *bus_addr_l,
94*4882a593Smuzhiyun 			_dma *bus_addr_h, u32 buf_sz, u8 direction)
95*4882a593Smuzhiyun {
96*4882a593Smuzhiyun }
97*4882a593Smuzhiyun 
_os_dma_pool_create(void * d,char * name,u32 wd_page_sz)98*4882a593Smuzhiyun static inline void *_os_dma_pool_create(void *d, char *name, u32 wd_page_sz)
99*4882a593Smuzhiyun {
100*4882a593Smuzhiyun 	return NULL;
101*4882a593Smuzhiyun }
102*4882a593Smuzhiyun 
_os_dma_pool_destory(void * d,void * pool)103*4882a593Smuzhiyun static inline void _os_dma_pool_destory(void *d, void *pool)
104*4882a593Smuzhiyun {
105*4882a593Smuzhiyun }
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun /* txbd, rxbd, wd */
_os_shmem_alloc(void * d,void * pool,_dma * bus_addr_l,_dma * bus_addr_h,u32 buf_sz,u8 cache,u8 direction,void ** os_rsvd)108*4882a593Smuzhiyun static inline void *_os_shmem_alloc(void *d, void *pool, _dma *bus_addr_l,
109*4882a593Smuzhiyun 				    _dma *bus_addr_h, u32 buf_sz,
110*4882a593Smuzhiyun 				    u8 cache, u8 direction, void **os_rsvd)
111*4882a593Smuzhiyun {
112*4882a593Smuzhiyun 	return NULL;
113*4882a593Smuzhiyun }
_os_shmem_free(void * d,void * pool,u8 * vir_addr,_dma * bus_addr_l,_dma * bus_addr_h,u32 buf_sz,u8 cache,u8 direction,void * os_rsvd)114*4882a593Smuzhiyun static inline void _os_shmem_free(void *d, void *pool, u8 *vir_addr, _dma *bus_addr_l,
115*4882a593Smuzhiyun 				  _dma *bus_addr_h, u32 buf_sz,
116*4882a593Smuzhiyun 				  u8 cache, u8 direction, void *os_rsvd)
117*4882a593Smuzhiyun {
118*4882a593Smuzhiyun 	return NULL;
119*4882a593Smuzhiyun }
120*4882a593Smuzhiyun #endif
121*4882a593Smuzhiyun 
_os_pkt_buf_unmap_rx(void * d,_dma bus_addr_l,_dma bus_addr_h,u32 buf_sz)122*4882a593Smuzhiyun static inline void *_os_pkt_buf_unmap_rx(void *d, _dma bus_addr_l, _dma bus_addr_h, u32 buf_sz)
123*4882a593Smuzhiyun {
124*4882a593Smuzhiyun 	return NULL;
125*4882a593Smuzhiyun }
126*4882a593Smuzhiyun 
_os_pkt_buf_map_rx(void * d,_dma * bus_addr_l,_dma * bus_addr_h,u32 buf_sz,void * os_priv)127*4882a593Smuzhiyun static inline void *_os_pkt_buf_map_rx(void *d, _dma *bus_addr_l, _dma *bus_addr_h,
128*4882a593Smuzhiyun 					u32 buf_sz, void *os_priv)
129*4882a593Smuzhiyun {
130*4882a593Smuzhiyun 	return NULL;
131*4882a593Smuzhiyun }
132*4882a593Smuzhiyun 
_os_pkt_buf_alloc_rx(void * d,_dma * bus_addr_l,_dma * bus_addr_h,u32 buf_sz,u8 cache,void ** os_priv)133*4882a593Smuzhiyun static inline void *_os_pkt_buf_alloc_rx(void *d, _dma *bus_addr_l, _dma *bus_addr_h,
134*4882a593Smuzhiyun 					u32 buf_sz, u8 cache, void **os_priv)
135*4882a593Smuzhiyun {
136*4882a593Smuzhiyun 	return NULL;
137*4882a593Smuzhiyun }
_os_pkt_buf_free_rx(void * d,u8 * vir_addr,_dma bus_addr_l,_dma bus_addr_h,u32 buf_sz,u8 cache,void * os_priv)138*4882a593Smuzhiyun static inline u8 *_os_pkt_buf_free_rx(void *d, u8 *vir_addr, _dma bus_addr_l,
139*4882a593Smuzhiyun 				_dma bus_addr_h, u32 buf_sz, u8 cache, void *os_priv)
140*4882a593Smuzhiyun {
141*4882a593Smuzhiyun 	return NULL;
142*4882a593Smuzhiyun }
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun /* phl pre-alloc network layer buffer */
_os_alloc_netbuf(void * d,u32 buf_sz,void ** os_priv)145*4882a593Smuzhiyun static inline void * _os_alloc_netbuf(void *d, u32 buf_sz, void **os_priv)
146*4882a593Smuzhiyun {
147*4882a593Smuzhiyun 	return NULL; // windows never do this.
148*4882a593Smuzhiyun }
149*4882a593Smuzhiyun 
150*4882a593Smuzhiyun /* Free netbuf for error case. (ex. drop rx-reorder packet) */
_os_free_netbuf(void * d,u8 * vir_addr,u32 buf_sz,void * os_priv)151*4882a593Smuzhiyun static inline void _os_free_netbuf(void *d, u8 *vir_addr, u32 buf_sz, void *os_priv)
152*4882a593Smuzhiyun {
153*4882a593Smuzhiyun }
154*4882a593Smuzhiyun 
_os_mem_alloc(void * h,u32 buf_sz)155*4882a593Smuzhiyun static __inline void *_os_mem_alloc(void *h, u32 buf_sz)
156*4882a593Smuzhiyun {
157*4882a593Smuzhiyun 	return NULL;
158*4882a593Smuzhiyun }
159*4882a593Smuzhiyun 
_os_mem_free(void * h,void * buf,u32 buf_sz)160*4882a593Smuzhiyun static __inline void _os_mem_free(void *h, void *buf, u32 buf_sz)
161*4882a593Smuzhiyun {
162*4882a593Smuzhiyun }
163*4882a593Smuzhiyun /*physically contiguous memory if the buffer will be accessed by a DMA device*/
_os_kmem_alloc(void * h,u32 buf_sz)164*4882a593Smuzhiyun static inline void *_os_kmem_alloc(void *h, u32 buf_sz)
165*4882a593Smuzhiyun {
166*4882a593Smuzhiyun 	return NULL;
167*4882a593Smuzhiyun }
168*4882a593Smuzhiyun 
169*4882a593Smuzhiyun /*physically contiguous memory if the buffer will be accessed by a DMA device*/
_os_kmem_free(void * h,void * buf,u32 buf_sz)170*4882a593Smuzhiyun static inline void _os_kmem_free(void *h, void *buf, u32 buf_sz)
171*4882a593Smuzhiyun {
172*4882a593Smuzhiyun }
_os_mem_set(void * h,void * buf,s8 value,u32 size)173*4882a593Smuzhiyun static __inline void _os_mem_set(void *h, void *buf, s8 value, u32 size)
174*4882a593Smuzhiyun {
175*4882a593Smuzhiyun }
_os_mem_cpy(void * h,void * dest,void * src,u32 size)176*4882a593Smuzhiyun static __inline void _os_mem_cpy(void *h, void *dest, void *src, u32 size)
177*4882a593Smuzhiyun {
178*4882a593Smuzhiyun }
_os_mem_cmp(void * h,void * ptr1,void * ptr2,u32 size)179*4882a593Smuzhiyun static __inline int _os_mem_cmp(void *h, void *ptr1, void *ptr2, u32 size)
180*4882a593Smuzhiyun {
181*4882a593Smuzhiyun 	return 0;
182*4882a593Smuzhiyun }
_os_init_timer(void * h,_os_timer * timer,void (* call_back_func)(void * context),void * context,const char * sz_id)183*4882a593Smuzhiyun static __inline void _os_init_timer(void *h, _os_timer *timer,
184*4882a593Smuzhiyun 		void (*call_back_func)(void *context), void *context,
185*4882a593Smuzhiyun 		const char *sz_id)
186*4882a593Smuzhiyun {
187*4882a593Smuzhiyun }
188*4882a593Smuzhiyun 
_os_set_timer(void * h,_os_timer * timer,u32 ms_delay)189*4882a593Smuzhiyun static __inline void _os_set_timer(void *h, _os_timer *timer, u32 ms_delay)
190*4882a593Smuzhiyun {
191*4882a593Smuzhiyun }
192*4882a593Smuzhiyun 
_os_cancel_timer(void * h,_os_timer * timer)193*4882a593Smuzhiyun static __inline void _os_cancel_timer(void *h, _os_timer *timer)
194*4882a593Smuzhiyun {
195*4882a593Smuzhiyun }
_os_cancel_timer_async(void * d,_os_timer * timer)196*4882a593Smuzhiyun static inline void _os_cancel_timer_async(void *d, _os_timer *timer)
197*4882a593Smuzhiyun {
198*4882a593Smuzhiyun }
199*4882a593Smuzhiyun 
_os_release_timer(void * h,_os_timer * timer)200*4882a593Smuzhiyun static __inline void _os_release_timer(void *h, _os_timer *timer)
201*4882a593Smuzhiyun {
202*4882a593Smuzhiyun 
203*4882a593Smuzhiyun }
_os_mutex_init(void * h,_os_mutex * mutex)204*4882a593Smuzhiyun static __inline void _os_mutex_init(void *h, _os_mutex *mutex)
205*4882a593Smuzhiyun {
206*4882a593Smuzhiyun }
207*4882a593Smuzhiyun 
_os_mutex_deinit(void * h,_os_mutex * mutex)208*4882a593Smuzhiyun static __inline void _os_mutex_deinit(void *h, _os_mutex *mutex)
209*4882a593Smuzhiyun {
210*4882a593Smuzhiyun }
211*4882a593Smuzhiyun 
_os_mutex_lock(void * h,_os_mutex * mutex)212*4882a593Smuzhiyun static __inline void _os_mutex_lock(void *h, _os_mutex *mutex)
213*4882a593Smuzhiyun {
214*4882a593Smuzhiyun }
215*4882a593Smuzhiyun 
_os_mutex_unlock(void * h,_os_mutex * mutex)216*4882a593Smuzhiyun static __inline void _os_mutex_unlock(void *h, _os_mutex *mutex)
217*4882a593Smuzhiyun {
218*4882a593Smuzhiyun }
219*4882a593Smuzhiyun 
_os_sema_init(void * h,_os_sema * sema,int int_cnt)220*4882a593Smuzhiyun static inline void _os_sema_init(void *h, _os_sema *sema, int int_cnt)
221*4882a593Smuzhiyun {
222*4882a593Smuzhiyun }
223*4882a593Smuzhiyun 
_os_sema_free(void * h,_os_sema * sema)224*4882a593Smuzhiyun static inline void _os_sema_free(void *h, _os_sema *sema)
225*4882a593Smuzhiyun {
226*4882a593Smuzhiyun }
227*4882a593Smuzhiyun 
_os_sema_up(void * h,_os_sema * sema)228*4882a593Smuzhiyun static inline void _os_sema_up(void *h, _os_sema *sema)
229*4882a593Smuzhiyun {
230*4882a593Smuzhiyun }
231*4882a593Smuzhiyun 
_os_sema_down(void * h,_os_sema * sema)232*4882a593Smuzhiyun static inline u8 _os_sema_down(void *h, _os_sema *sema)
233*4882a593Smuzhiyun {
234*4882a593Smuzhiyun 	return 0; //success
235*4882a593Smuzhiyun }
236*4882a593Smuzhiyun 
_os_spinlock_init(void * d,_os_lock * plock)237*4882a593Smuzhiyun static __inline void _os_spinlock_init(void *d, _os_lock *plock)
238*4882a593Smuzhiyun {
239*4882a593Smuzhiyun }
_os_spinlock_free(void * d,_os_lock * plock)240*4882a593Smuzhiyun static __inline void _os_spinlock_free(void *d, _os_lock *plock)
241*4882a593Smuzhiyun {
242*4882a593Smuzhiyun }
_os_spinlock(void * d,_os_lock * plock,enum lock_type type,_os_spinlockfg * flags)243*4882a593Smuzhiyun static inline void _os_spinlock(void *d, _os_lock *plock,
244*4882a593Smuzhiyun 					enum lock_type type, _os_spinlockfg *flags)
245*4882a593Smuzhiyun {
246*4882a593Smuzhiyun }
247*4882a593Smuzhiyun 
_os_spinunlock(void * d,_os_lock * plock,enum lock_type type,_os_spinlockfg * flags)248*4882a593Smuzhiyun static inline void _os_spinunlock(void *d, _os_lock *plock,
249*4882a593Smuzhiyun 					enum lock_type type, _os_spinlockfg *flags)
250*4882a593Smuzhiyun {
251*4882a593Smuzhiyun }
252*4882a593Smuzhiyun 
253*4882a593Smuzhiyun /* event */
_os_event_init(void * h,_os_event * event)254*4882a593Smuzhiyun static __inline void _os_event_init(void *h, _os_event *event)
255*4882a593Smuzhiyun {
256*4882a593Smuzhiyun }
_os_event_free(void * h,_os_event * event)257*4882a593Smuzhiyun static __inline void _os_event_free(void *h, _os_event *event)
258*4882a593Smuzhiyun {
259*4882a593Smuzhiyun }
_os_event_reset(void * h,_os_event * event)260*4882a593Smuzhiyun static __inline void _os_event_reset(void *h, _os_event *event)
261*4882a593Smuzhiyun {
262*4882a593Smuzhiyun }
_os_event_set(void * h,_os_event * event)263*4882a593Smuzhiyun static __inline void _os_event_set(void *h, _os_event *event)
264*4882a593Smuzhiyun {
265*4882a593Smuzhiyun }
266*4882a593Smuzhiyun 
267*4882a593Smuzhiyun /*
268*4882a593Smuzhiyun  * m_sec
269*4882a593Smuzhiyun  *	== 0 : wait for completion
270*4882a593Smuzhiyun  *	>  0 : wait for timeout or completion
271*4882a593Smuzhiyun  * return value
272*4882a593Smuzhiyun  *	0:timeout
273*4882a593Smuzhiyun  *	otherwise:success
274*4882a593Smuzhiyun  */
_os_event_wait(void * h,_os_event * event,u32 m_sec)275*4882a593Smuzhiyun static __inline int _os_event_wait(void *h, _os_event *event, u32 m_sec)
276*4882a593Smuzhiyun {
277*4882a593Smuzhiyun 	return 0;
278*4882a593Smuzhiyun }
279*4882a593Smuzhiyun 
_os_test_and_clear_bit(int nr,unsigned long * addr)280*4882a593Smuzhiyun static inline int _os_test_and_clear_bit(int nr, unsigned long *addr)
281*4882a593Smuzhiyun {
282*4882a593Smuzhiyun 	/*UNDO*/
283*4882a593Smuzhiyun 	return 0;
284*4882a593Smuzhiyun }
_os_test_and_set_bit(int nr,unsigned long * addr)285*4882a593Smuzhiyun static inline int _os_test_and_set_bit(int nr, unsigned long *addr)
286*4882a593Smuzhiyun {
287*4882a593Smuzhiyun 	/*UNDO*/
288*4882a593Smuzhiyun 	return 1;
289*4882a593Smuzhiyun }
290*4882a593Smuzhiyun /* Atomic integer operations */
_os_atomic_set(void * d,_os_atomic * v,int i)291*4882a593Smuzhiyun static __inline void _os_atomic_set(void *d, _os_atomic *v, int i)
292*4882a593Smuzhiyun {
293*4882a593Smuzhiyun }
294*4882a593Smuzhiyun 
_os_atomic_read(void * d,_os_atomic * v)295*4882a593Smuzhiyun static __inline int _os_atomic_read(void *d, _os_atomic *v)
296*4882a593Smuzhiyun {
297*4882a593Smuzhiyun 	return 0;
298*4882a593Smuzhiyun }
299*4882a593Smuzhiyun 
_os_atomic_add(void * d,_os_atomic * v,int i)300*4882a593Smuzhiyun static __inline void _os_atomic_add(void *d, _os_atomic *v, int i)
301*4882a593Smuzhiyun {
302*4882a593Smuzhiyun }
_os_atomic_sub(void * d,_os_atomic * v,int i)303*4882a593Smuzhiyun static __inline void _os_atomic_sub(void *d, _os_atomic *v, int i)
304*4882a593Smuzhiyun {
305*4882a593Smuzhiyun }
306*4882a593Smuzhiyun 
_os_atomic_inc(void * d,_os_atomic * v)307*4882a593Smuzhiyun static __inline void _os_atomic_inc(void *d, _os_atomic *v)
308*4882a593Smuzhiyun {
309*4882a593Smuzhiyun }
310*4882a593Smuzhiyun 
_os_atomic_dec(void * d,_os_atomic * v)311*4882a593Smuzhiyun static __inline void _os_atomic_dec(void *d, _os_atomic *v)
312*4882a593Smuzhiyun {
313*4882a593Smuzhiyun }
314*4882a593Smuzhiyun 
_os_atomic_add_return(void * d,_os_atomic * v,int i)315*4882a593Smuzhiyun static __inline int _os_atomic_add_return(void *d, _os_atomic *v, int i)
316*4882a593Smuzhiyun {
317*4882a593Smuzhiyun 	return 0;
318*4882a593Smuzhiyun }
319*4882a593Smuzhiyun 
_os_atomic_sub_return(void * d,_os_atomic * v,int i)320*4882a593Smuzhiyun static __inline int _os_atomic_sub_return(void *d, _os_atomic *v, int i)
321*4882a593Smuzhiyun {
322*4882a593Smuzhiyun 	return 0;
323*4882a593Smuzhiyun }
324*4882a593Smuzhiyun 
_os_atomic_inc_return(void * d,_os_atomic * v)325*4882a593Smuzhiyun static __inline int _os_atomic_inc_return(void *d, _os_atomic *v)
326*4882a593Smuzhiyun {
327*4882a593Smuzhiyun 	return 0;
328*4882a593Smuzhiyun }
329*4882a593Smuzhiyun 
_os_atomic_dec_return(void * d,_os_atomic * v)330*4882a593Smuzhiyun static __inline int _os_atomic_dec_return(void *d, _os_atomic *v)
331*4882a593Smuzhiyun {
332*4882a593Smuzhiyun 	return 0;
333*4882a593Smuzhiyun }
334*4882a593Smuzhiyun /*
335*4882a593Smuzhiyun static __inline bool _os_atomic_inc_unless(void *d, _os_atomic *v, int u)
336*4882a593Smuzhiyun {
337*4882a593Smuzhiyun 	return 0;
338*4882a593Smuzhiyun }
339*4882a593Smuzhiyun */
_os_tasklet_init(void * drv_priv,_os_tasklet * task,void (* call_back_func)(void * context),void * context)340*4882a593Smuzhiyun static inline u8 _os_tasklet_init(void *drv_priv, _os_tasklet *task,
341*4882a593Smuzhiyun 	void (*call_back_func)(void* context), void *context)
342*4882a593Smuzhiyun {
343*4882a593Smuzhiyun 	return 0;
344*4882a593Smuzhiyun }
_os_tasklet_deinit(void * drv_priv,_os_tasklet * task)345*4882a593Smuzhiyun static inline u8 _os_tasklet_deinit(void *drv_priv, _os_tasklet *task)
346*4882a593Smuzhiyun {
347*4882a593Smuzhiyun 	return 0;
348*4882a593Smuzhiyun }
_os_tasklet_schedule(void * drv_priv,_os_tasklet * task)349*4882a593Smuzhiyun static inline u8 _os_tasklet_schedule(void *drv_priv, _os_tasklet *task)
350*4882a593Smuzhiyun {
351*4882a593Smuzhiyun 	return 0;
352*4882a593Smuzhiyun }
353*4882a593Smuzhiyun 
_os_thread_init(void * drv_priv,_os_thread * thread,int (* call_back_func)(void * context),void * context,const char namefmt[])354*4882a593Smuzhiyun static __inline u8 _os_thread_init(	void *drv_priv, _os_thread *thread,
355*4882a593Smuzhiyun 					int (*call_back_func)(void * context),
356*4882a593Smuzhiyun 					void *context,
357*4882a593Smuzhiyun 					const char namefmt[])
358*4882a593Smuzhiyun {
359*4882a593Smuzhiyun 	return RTW_PHL_STATUS_FAILURE;
360*4882a593Smuzhiyun }
_os_thread_deinit(void * drv_priv,_os_thread * thread)361*4882a593Smuzhiyun static __inline u8 _os_thread_deinit(void *drv_priv, _os_thread *thread)
362*4882a593Smuzhiyun {
363*4882a593Smuzhiyun 	return RTW_PHL_STATUS_FAILURE;
364*4882a593Smuzhiyun }
_os_thread_schedule(void * drv_priv,_os_thread * thread)365*4882a593Smuzhiyun static __inline enum rtw_phl_status _os_thread_schedule(void *drv_priv, _os_thread *thread)
366*4882a593Smuzhiyun {
367*4882a593Smuzhiyun 	return RTW_PHL_STATUS_FAILURE;
368*4882a593Smuzhiyun }
_os_thread_stop(void * drv_priv,_os_thread * thread)369*4882a593Smuzhiyun static inline void _os_thread_stop(void *drv_priv, _os_thread *thread)
370*4882a593Smuzhiyun {
371*4882a593Smuzhiyun }
_os_thread_check_stop(void * drv_priv,_os_thread * thread)372*4882a593Smuzhiyun static inline int _os_thread_check_stop(void *drv_priv, _os_thread *thread)
373*4882a593Smuzhiyun {
374*4882a593Smuzhiyun 	return 1;
375*4882a593Smuzhiyun }
_os_thread_wait_stop(void * drv_priv,_os_thread * thread)376*4882a593Smuzhiyun static inline int _os_thread_wait_stop(void *drv_priv, _os_thread *thread)
377*4882a593Smuzhiyun {
378*4882a593Smuzhiyun 	return RTW_PHL_STATUS_SUCCESS;
379*4882a593Smuzhiyun }
380*4882a593Smuzhiyun 
381*4882a593Smuzhiyun #if 0 /* TODO */
382*4882a593Smuzhiyun static inline _os_thread _os_thread_start(int (*threadfn)(void *data),
383*4882a593Smuzhiyun 	void *data, const char namefmt[])
384*4882a593Smuzhiyun {
385*4882a593Smuzhiyun 	return 0;
386*4882a593Smuzhiyun }
387*4882a593Smuzhiyun static inline bool _os_thread_stop(_os_thread th)
388*4882a593Smuzhiyun {
389*4882a593Smuzhiyun 	return 0;
390*4882a593Smuzhiyun }
391*4882a593Smuzhiyun static inline void _os_thread_wait_stop(void)
392*4882a593Smuzhiyun {
393*4882a593Smuzhiyun }
394*4882a593Smuzhiyun static inline int _os_thread_check_stop(void)
395*4882a593Smuzhiyun {
396*4882a593Smuzhiyun 	return 0;
397*4882a593Smuzhiyun }
398*4882a593Smuzhiyun #endif
399*4882a593Smuzhiyun 
_os_workitem_init(void * drv_priv,_os_workitem * workitem,void (* call_back_func)(void * context),void * context)400*4882a593Smuzhiyun static inline u8 _os_workitem_init(void *drv_priv, _os_workitem *workitem,
401*4882a593Smuzhiyun 			void (*call_back_func)(void* context), void *context)
402*4882a593Smuzhiyun {
403*4882a593Smuzhiyun 	return 0;
404*4882a593Smuzhiyun }
_os_workitem_schedule(void * drv_priv,_os_workitem * workitem)405*4882a593Smuzhiyun static inline u8 _os_workitem_schedule(void *drv_priv, _os_workitem *workitem)
406*4882a593Smuzhiyun {
407*4882a593Smuzhiyun 	return 0;
408*4882a593Smuzhiyun }
_os_workitem_deinit(void * drv_priv,_os_workitem * workitem)409*4882a593Smuzhiyun static inline u8 _os_workitem_deinit(void *drv_priv, _os_workitem *workitem)
410*4882a593Smuzhiyun {
411*4882a593Smuzhiyun 	return 0;
412*4882a593Smuzhiyun }
413*4882a593Smuzhiyun 
414*4882a593Smuzhiyun /* File Operation */
_os_read_file(const char * path,u8 * buf,u32 sz)415*4882a593Smuzhiyun static inline u32 _os_read_file(const char *path, u8 *buf, u32 sz)
416*4882a593Smuzhiyun {
417*4882a593Smuzhiyun 	/* OS Dependent API */
418*4882a593Smuzhiyun 	return 0;
419*4882a593Smuzhiyun }
420*4882a593Smuzhiyun 
421*4882a593Smuzhiyun #ifdef CONFIG_PCI_HCI
_os_read8_pcie(void * h,u32 addr)422*4882a593Smuzhiyun static __inline u8 _os_read8_pcie(void *h, u32 addr)
423*4882a593Smuzhiyun {
424*4882a593Smuzhiyun 	return 0;
425*4882a593Smuzhiyun }
_os_read16_pcie(void * h,u32 addr)426*4882a593Smuzhiyun static __inline u16 _os_read16_pcie(void *h, u32 addr)
427*4882a593Smuzhiyun {
428*4882a593Smuzhiyun 	return 0;
429*4882a593Smuzhiyun 
430*4882a593Smuzhiyun }
_os_read32_pcie(void * h,u32 addr)431*4882a593Smuzhiyun static __inline u32 _os_read32_pcie(void *h, u32 addr)
432*4882a593Smuzhiyun {
433*4882a593Smuzhiyun 	return 0;
434*4882a593Smuzhiyun }
435*4882a593Smuzhiyun 
_os_write8_pcie(void * h,u32 addr,u8 val)436*4882a593Smuzhiyun static __inline u32 _os_write8_pcie(void *h, u32 addr, u8 val)
437*4882a593Smuzhiyun {
438*4882a593Smuzhiyun 	return 0;
439*4882a593Smuzhiyun }
_os_write16_pcie(void * h,u32 addr,u16 val)440*4882a593Smuzhiyun static __inline u32 _os_write16_pcie(void *h, u32 addr, u16 val)
441*4882a593Smuzhiyun {
442*4882a593Smuzhiyun 	return 0;
443*4882a593Smuzhiyun }
_os_write32_pcie(void * h,u32 addr,u32 val)444*4882a593Smuzhiyun static __inline u32 _os_write32_pcie(void *h, u32 addr, u32 val)
445*4882a593Smuzhiyun {
446*4882a593Smuzhiyun 	return 0;
447*4882a593Smuzhiyun }
448*4882a593Smuzhiyun #endif/*#ifdef CONFIG_PCI_HCI*/
449*4882a593Smuzhiyun 
450*4882a593Smuzhiyun #ifdef CONFIG_USB_HCI
_os_usbctrl_vendorreq(void * h,u8 request,u16 value,u16 index,void * pdata,u16 len,u8 requesttype)451*4882a593Smuzhiyun static __inline u32 _os_usbctrl_vendorreq(void *h, u8 request, u16 value,
452*4882a593Smuzhiyun 			u16 index, void *pdata, u16 len, u8 requesttype)
453*4882a593Smuzhiyun {
454*4882a593Smuzhiyun 	return 0;
455*4882a593Smuzhiyun }
456*4882a593Smuzhiyun 
os_usb_tx(void * h,u8 * tx_buf_ptr,u8 bulk_id,u32 len,u8 * pkt_data_buf)457*4882a593Smuzhiyun static inline int os_usb_tx(void *h, u8 *tx_buf_ptr,
458*4882a593Smuzhiyun 			u8 bulk_id, u32 len, u8 *pkt_data_buf)
459*4882a593Smuzhiyun {
460*4882a593Smuzhiyun 	return 1;
461*4882a593Smuzhiyun }
462*4882a593Smuzhiyun 
463*4882a593Smuzhiyun #endif /*CONFIG_USB_HCI*/
464*4882a593Smuzhiyun 
465*4882a593Smuzhiyun #ifdef CONFIG_SDIO_HCI
_os_sdio_cmd52_r8(void * d,u32 offset)466*4882a593Smuzhiyun static __inline u8 _os_sdio_cmd52_r8(void *d, u32 offset)
467*4882a593Smuzhiyun {
468*4882a593Smuzhiyun 	return 0;
469*4882a593Smuzhiyun }
470*4882a593Smuzhiyun 
_os_sdio_cmd53_r8(void * d,u32 offset)471*4882a593Smuzhiyun static __inline u8 _os_sdio_cmd53_r8(void *d, u32 offset)
472*4882a593Smuzhiyun {
473*4882a593Smuzhiyun 	return 0;
474*4882a593Smuzhiyun }
475*4882a593Smuzhiyun 
_os_sdio_cmd53_r16(void * d,u32 offset)476*4882a593Smuzhiyun static __inline u16 _os_sdio_cmd53_r16(void *d, u32 offset)
477*4882a593Smuzhiyun {
478*4882a593Smuzhiyun 	return 0;
479*4882a593Smuzhiyun }
480*4882a593Smuzhiyun 
_os_sdio_cmd53_r32(void * d,u32 offset)481*4882a593Smuzhiyun static __inline u32 _os_sdio_cmd53_r32(void *d, u32 offset)
482*4882a593Smuzhiyun {
483*4882a593Smuzhiyun 	return 0;
484*4882a593Smuzhiyun }
485*4882a593Smuzhiyun 
_os_sdio_cmd53_rn(void * d,u32 offset,u32 size,u8 * data)486*4882a593Smuzhiyun static __inline u8 _os_sdio_cmd53_rn(void *d, u32 offset, u32 size, u8 *data)
487*4882a593Smuzhiyun {
488*4882a593Smuzhiyun 	return 0;
489*4882a593Smuzhiyun }
490*4882a593Smuzhiyun 
_os_sdio_cmd53_r(void * d,u32 offset,u32 size,u8 * data)491*4882a593Smuzhiyun static __inline u8 _os_sdio_cmd53_r(void *d, u32 offset, u32 size, u8 *data)
492*4882a593Smuzhiyun {
493*4882a593Smuzhiyun 	/* TODO: implement read RX FIFO */
494*4882a593Smuzhiyun 	return 0;
495*4882a593Smuzhiyun }
496*4882a593Smuzhiyun 
_os_sdio_cmd52_w8(void * d,u32 offset,u8 val)497*4882a593Smuzhiyun static __inline void _os_sdio_cmd52_w8(void *d, u32 offset, u8 val)
498*4882a593Smuzhiyun {
499*4882a593Smuzhiyun }
500*4882a593Smuzhiyun 
_os_sdio_cmd53_w8(void * d,u32 offset,u8 val)501*4882a593Smuzhiyun static __inline void _os_sdio_cmd53_w8(void *d, u32 offset, u8 val)
502*4882a593Smuzhiyun {
503*4882a593Smuzhiyun }
504*4882a593Smuzhiyun 
_os_sdio_cmd53_w16(void * d,u32 offset,u16 val)505*4882a593Smuzhiyun static __inline void _os_sdio_cmd53_w16(void *d, u32 offset, u16 val)
506*4882a593Smuzhiyun {
507*4882a593Smuzhiyun }
508*4882a593Smuzhiyun 
_os_sdio_cmd53_w32(void * d,u32 offset,u32 val)509*4882a593Smuzhiyun static __inline void _os_sdio_cmd53_w32(void *d, u32 offset, u32 val)
510*4882a593Smuzhiyun {
511*4882a593Smuzhiyun }
512*4882a593Smuzhiyun 
_os_sdio_cmd53_wn(void * d,u32 offset,u32 size,u8 * data)513*4882a593Smuzhiyun static __inline void _os_sdio_cmd53_wn(void *d, u32 offset, u32 size, u8 *data)
514*4882a593Smuzhiyun {
515*4882a593Smuzhiyun }
516*4882a593Smuzhiyun 
_os_sdio_cmd53_w(void * d,u32 offset,u32 size,u8 * data)517*4882a593Smuzhiyun static __inline void _os_sdio_cmd53_w(void *d, u32 offset, u32 size, u8 *data)
518*4882a593Smuzhiyun {
519*4882a593Smuzhiyun }
520*4882a593Smuzhiyun 
_os_sdio_f0_read(void * d,u32 addr,void * buf,size_t len)521*4882a593Smuzhiyun static __inline u8 _os_sdio_f0_read(void *d, u32 addr, void *buf, size_t len)
522*4882a593Smuzhiyun {
523*4882a593Smuzhiyun 	return 0;
524*4882a593Smuzhiyun }
525*4882a593Smuzhiyun 
_os_sdio_read_cia_r8(void * d,u32 addr)526*4882a593Smuzhiyun static __inline u8 _os_sdio_read_cia_r8(void *d, u32 addr)
527*4882a593Smuzhiyun {
528*4882a593Smuzhiyun 	return 0;
529*4882a593Smuzhiyun }
530*4882a593Smuzhiyun #endif /*CONFIG_SDIO_HCI*/
531*4882a593Smuzhiyun 
532*4882a593Smuzhiyun /* temp os dependency */
533*4882a593Smuzhiyun 
534*4882a593Smuzhiyun /* can delete if osdep ready */
535*4882a593Smuzhiyun 
536*4882a593Smuzhiyun 
537*4882a593Smuzhiyun #endif /*_PLTFM_OPS_MACOS_H_*/
538