diff options
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/config.h | 4 | ||||
-rw-r--r-- | firmware/export/kernel.h | 20 | ||||
-rw-r--r-- | firmware/export/thread.h | 4 |
3 files changed, 6 insertions, 22 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h index d00958a71d..341985f9e7 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -741,8 +741,6 @@ Lyre prototype 1 */ | |||
741 | #endif /* PLATFORM_NATIVE */ | 741 | #endif /* PLATFORM_NATIVE */ |
742 | 742 | ||
743 | 743 | ||
744 | #define HAVE_SEMAPHORE_OBJECTS | ||
745 | |||
746 | #ifdef HAVE_USBSTACK | 744 | #ifdef HAVE_USBSTACK |
747 | #if CONFIG_USBOTG == USBOTG_ARC | 745 | #if CONFIG_USBOTG == USBOTG_ARC |
748 | #define USB_STATUS_BY_EVENT | 746 | #define USB_STATUS_BY_EVENT |
@@ -769,7 +767,7 @@ Lyre prototype 1 */ | |||
769 | || (CONFIG_CPU == AS3525) || (CONFIG_CPU == AS3525v2) \ | 767 | || (CONFIG_CPU == AS3525) || (CONFIG_CPU == AS3525v2) \ |
770 | || defined(CPU_S5L870X) || (CONFIG_CPU == S3C2440) \ | 768 | || defined(CPU_S5L870X) || (CONFIG_CPU == S3C2440) \ |
771 | || defined(APPLICATION) | 769 | || defined(APPLICATION) |
772 | #define HAVE_WAKEUP_OBJECTS | 770 | #define HAVE_SEMAPHORE_OBJECTS |
773 | #endif | 771 | #endif |
774 | 772 | ||
775 | /*include support for crossfading - requires significant PCM buffer space*/ | 773 | /*include support for crossfading - requires significant PCM buffer space*/ |
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 20743c554b..6aaf11ddb9 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h | |||
@@ -160,22 +160,12 @@ struct mutex | |||
160 | struct semaphore | 160 | struct semaphore |
161 | { | 161 | { |
162 | struct thread_entry *queue; /* Waiter list */ | 162 | struct thread_entry *queue; /* Waiter list */ |
163 | int count; /* # of waits remaining before unsignaled */ | 163 | int volatile count; /* # of waits remaining before unsignaled */ |
164 | int max; /* maximum # of waits to remain signaled */ | 164 | int max; /* maximum # of waits to remain signaled */ |
165 | IF_COP( struct corelock cl; ) /* multiprocessor sync */ | 165 | IF_COP( struct corelock cl; ) /* multiprocessor sync */ |
166 | }; | 166 | }; |
167 | #endif | 167 | #endif |
168 | 168 | ||
169 | #ifdef HAVE_WAKEUP_OBJECTS | ||
170 | struct wakeup | ||
171 | { | ||
172 | struct thread_entry *queue; /* waiter list */ | ||
173 | bool volatile signalled; /* signalled status */ | ||
174 | IF_COP( struct corelock cl; ) /* multiprocessor sync */ | ||
175 | }; | ||
176 | #endif | ||
177 | |||
178 | |||
179 | /* global tick variable */ | 169 | /* global tick variable */ |
180 | #if defined(CPU_PP) && defined(BOOTLOADER) && \ | 170 | #if defined(CPU_PP) && defined(BOOTLOADER) && \ |
181 | !defined(HAVE_BOOTLOADER_USB_MODE) | 171 | !defined(HAVE_BOOTLOADER_USB_MODE) |
@@ -280,14 +270,8 @@ static inline bool mutex_test(const struct mutex *m) | |||
280 | 270 | ||
281 | #ifdef HAVE_SEMAPHORE_OBJECTS | 271 | #ifdef HAVE_SEMAPHORE_OBJECTS |
282 | extern void semaphore_init(struct semaphore *s, int max, int start); | 272 | extern void semaphore_init(struct semaphore *s, int max, int start); |
283 | extern void semaphore_wait(struct semaphore *s); | 273 | extern int semaphore_wait(struct semaphore *s, int timeout); |
284 | extern void semaphore_release(struct semaphore *s); | 274 | extern void semaphore_release(struct semaphore *s); |
285 | #endif /* HAVE_SEMAPHORE_OBJECTS */ | 275 | #endif /* HAVE_SEMAPHORE_OBJECTS */ |
286 | 276 | ||
287 | #ifdef HAVE_WAKEUP_OBJECTS | ||
288 | extern void wakeup_init(struct wakeup *w); | ||
289 | extern int wakeup_wait(struct wakeup *w, int timeout); | ||
290 | extern int wakeup_signal(struct wakeup *w); | ||
291 | #endif /* HAVE_WAKEUP_OBJECTS */ | ||
292 | |||
293 | #endif /* _KERNEL_H_ */ | 277 | #endif /* _KERNEL_H_ */ |
diff --git a/firmware/export/thread.h b/firmware/export/thread.h index 179979a98a..0db849ab0a 100644 --- a/firmware/export/thread.h +++ b/firmware/export/thread.h | |||
@@ -284,7 +284,9 @@ struct thread_entry | |||
284 | and priority disinheritance */ | 284 | and priority disinheritance */ |
285 | /* Only enabled when using queue_send for now */ | 285 | /* Only enabled when using queue_send for now */ |
286 | #endif | 286 | #endif |
287 | #if defined(HAVE_EXTENDED_MESSAGING_AND_NAME) || NUM_CORES > 1 | 287 | #if defined(HAVE_SEMAPHORE_OBJECTS) || \ |
288 | defined(HAVE_EXTENDED_MESSAGING_AND_NAME) || \ | ||
289 | NUM_CORES > 1 | ||
288 | volatile intptr_t retval; /* Return value from a blocked operation/ | 290 | volatile intptr_t retval; /* Return value from a blocked operation/ |
289 | misc. use */ | 291 | misc. use */ |
290 | #endif | 292 | #endif |