15
15
#include "los_memory.h"
16
16
#include "los_swtmr.h"
17
17
18
- typedef struct _usb_osal_thread {
19
- UINT32 task_id ;
20
- char name [128 ];
21
- } _usb_osal_thread_t ;
22
-
23
18
usb_osal_thread_t usb_osal_thread_create (const char * name , uint32_t stack_size , uint32_t prio , usb_thread_entry_t entry , void * args )
24
19
{
25
- _usb_osal_thread_t * t ;
26
20
UINT32 task_id ;
27
21
UINT32 ret ;
22
+
28
23
TSK_INIT_PARAM_S task_init_param = {
29
24
.usTaskPrio = prio ,
30
25
.pfnTaskEntry = (TSK_ENTRY_FUNC )entry ,
31
26
.uwStackSize = stack_size ,
32
27
.uwArg = (UINT32 )args ,
28
+ .pcName = name
33
29
};
34
30
35
- t = usb_osal_malloc (sizeof (_usb_osal_thread_t ));
36
- if (t == NULL ) {
37
- USB_LOG_ERR ("alloc thread %s failed\r\n" , name );
38
- while (1 ) {
39
- }
40
- }
41
-
42
- strncpy (t -> name , name , sizeof (t -> name ));
43
- task_init_param .pcName = t -> name ;
44
-
45
31
ret = LOS_TaskCreate (& task_id , & task_init_param );
46
32
if (ret != LOS_OK ) {
47
33
USB_LOG_ERR ("Create task[%s] failed code[%u]\r\n" , name , ret );
48
34
while (1 ) {
49
35
}
50
36
}
51
37
52
- t -> task_id = task_id ;
53
-
54
- return (usb_osal_thread_t )t ;
38
+ return (usb_osal_thread_t )task_id ;
55
39
}
56
40
57
41
void usb_osal_thread_delete (usb_osal_thread_t thread )
58
42
{
59
- _usb_osal_thread_t * t = (_usb_osal_thread_t * )thread ;
60
- UINT32 task_id = t -> task_id ;
43
+ UINT32 task_id = (UINT32 )thread ;
61
44
UINT32 ret ;
62
45
46
+ if (thread == NULL ) {
47
+ task_id = LOS_CurTaskIDGet ();
48
+ }
49
+
63
50
ret = LOS_TaskDelete (task_id );
64
51
if (ret != LOS_OK ) {
65
52
USB_LOG_ERR ("Delete task id[%u] failed code[%u]\r\n" , task_id , ret );
66
53
while (1 ) {
67
54
}
68
55
}
69
-
70
- usb_osal_free (t );
71
56
}
72
57
73
58
usb_osal_sem_t usb_osal_sem_create (uint32_t initial_count )
@@ -91,7 +76,7 @@ void usb_osal_sem_delete(usb_osal_sem_t sem)
91
76
92
77
ret = LOS_SemDelete (sem_handle );
93
78
if (ret != LOS_OK ) {
94
- USB_LOG_ERR ("Delete sem handle[%u] failed code[%u]\r\n" ,\
79
+ USB_LOG_ERR ("Delete sem handle[%u] failed code[%u]\r\n" ,
95
80
sem_handle , ret );
96
81
while (1 ) {
97
82
}
@@ -103,9 +88,10 @@ int usb_osal_sem_take(usb_osal_sem_t sem, uint32_t timeout)
103
88
UINT32 sem_handle = (UINT32 )sem ;
104
89
UINT32 ret ;
105
90
106
- ret = LOS_SemPend (sem_handle , \
107
- timeout == USB_OSAL_WAITING_FOREVER ? \
108
- LOS_WAIT_FOREVER : timeout );
91
+ ret = LOS_SemPend (sem_handle ,
92
+ timeout == USB_OSAL_WAITING_FOREVER ?
93
+ LOS_WAIT_FOREVER :
94
+ timeout );
109
95
110
96
return ret == LOS_OK ? 0 : - USB_ERR_TIMEOUT ;
111
97
}
@@ -122,7 +108,6 @@ int usb_osal_sem_give(usb_osal_sem_t sem)
122
108
123
109
void usb_osal_sem_reset (usb_osal_sem_t sem )
124
110
{
125
-
126
111
}
127
112
128
113
usb_osal_mutex_t usb_osal_mutex_create (void )
@@ -146,8 +131,8 @@ void usb_osal_mutex_delete(usb_osal_mutex_t mutex)
146
131
147
132
ret = LOS_MuxDelete (mux_handle );
148
133
if (ret != LOS_OK ) {
149
- USB_LOG_ERR ("Delete mux handle[%u] failed code[%u]\r\n" ,\
150
- mux_handle , ret );
134
+ USB_LOG_ERR ("Delete mux handle[%u] failed code[%u]\r\n" ,
135
+ mux_handle , ret );
151
136
while (1 ) {
152
137
}
153
138
}
@@ -194,7 +179,7 @@ void usb_osal_mq_delete(usb_osal_mq_t mq)
194
179
195
180
ret = LOS_QueueDelete (queue_id );
196
181
if (ret != LOS_OK ) {
197
- USB_LOG_ERR ("Delete queue id[%u] failed code[%u]\r\n" ,\
182
+ USB_LOG_ERR ("Delete queue id[%u] failed code[%u]\r\n" ,
198
183
queue_id , ret );
199
184
while (1 ) {
200
185
}
@@ -247,12 +232,13 @@ struct usb_osal_timer *usb_osal_timer_create(const char *name, uint32_t timeout_
247
232
memset (timer_handle , 0x00 , sizeof (struct usb_osal_timer ));
248
233
249
234
ret = LOS_SwtmrCreate (timeout_ms ,
250
- is_period ? LOS_SWTMR_MODE_PERIOD : LOS_SWTMR_MODE_NO_SELFDELETE ,
251
- (SWTMR_PROC_FUNC )handler , & timer_id , (UINT32 )argument
235
+ is_period ? LOS_SWTMR_MODE_PERIOD : LOS_SWTMR_MODE_NO_SELFDELETE ,
236
+ (SWTMR_PROC_FUNC )handler , & timer_id , (UINT32 )argument
252
237
#if (LOSCFG_BASE_CORE_SWTMR_ALIGN == 1 )
253
- ,OS_SWTMR_ROUSES_IGNORE , OS_SWTMR_ALIGN_INSENSITIVE
238
+ ,
239
+ OS_SWTMR_ROUSES_IGNORE , OS_SWTMR_ALIGN_INSENSITIVE
254
240
#endif
255
- );
241
+ );
256
242
257
243
if (ret != LOS_OK ) {
258
244
USB_LOG_ERR ("Create software timer failed code[%u]\r\n" , ret );
@@ -276,7 +262,7 @@ void usb_osal_timer_delete(struct usb_osal_timer *timer)
276
262
277
263
ret = LOS_SwtmrDelete (timer_id );
278
264
if (ret != LOS_OK ) {
279
- USB_LOG_ERR ("Delete software timer id[%u] failed code[%u]\r\n" ,\
265
+ USB_LOG_ERR ("Delete software timer id[%u] failed code[%u]\r\n" ,
280
266
timer_id , ret );
281
267
while (1 ) {
282
268
}
@@ -291,7 +277,7 @@ void usb_osal_timer_start(struct usb_osal_timer *timer)
291
277
292
278
ret = LOS_SwtmrStart (timer_id );
293
279
if (ret != LOS_OK ) {
294
- USB_LOG_ERR ("Start software timer id[%u] failed code[%u]\r\n" ,\
280
+ USB_LOG_ERR ("Start software timer id[%u] failed code[%u]\r\n" ,
295
281
timer_id , ret );
296
282
while (1 ) {
297
283
}
@@ -305,7 +291,7 @@ void usb_osal_timer_stop(struct usb_osal_timer *timer)
305
291
306
292
ret = LOS_SwtmrStop (timer_id );
307
293
if (ret != LOS_OK ) {
308
- USB_LOG_ERR ("Stop software timer id[%u] failed code[%u]\r\n" ,\
294
+ USB_LOG_ERR ("Stop software timer id[%u] failed code[%u]\r\n" ,
309
295
timer_id , ret );
310
296
while (1 ) {
311
297
}
0 commit comments