diff --git a/os/hal/platforms/STM32/OTGv1/usb_lld.c b/os/hal/platforms/STM32/OTGv1/usb_lld.c
index 0aa9adf24..5b2f8bca1 100644
--- a/os/hal/platforms/STM32/OTGv1/usb_lld.c
+++ b/os/hal/platforms/STM32/OTGv1/usb_lld.c
@@ -318,7 +318,7 @@ static void otg_fifo_write_from_queue(volatile uint32_t *fifop,
chSysLock();
oqp->q_counter += n;
while (queue_notempty(&oqp->q_waiting))
- chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_OK;
+ chSchReadyI(queue_fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_OK;
chSchRescheduleS();
chSysUnlock();
}
@@ -430,7 +430,7 @@ static void otg_fifo_read_to_queue(volatile uint32_t *fifop,
chSysLock();
iqp->q_counter += n;
while (queue_notempty(&iqp->q_waiting))
- chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_OK;
+ chSchReadyI(queue_fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_OK;
chSchRescheduleS();
chSysUnlock();
}
diff --git a/os/kernel/include/ch.h b/os/kernel/include/ch.h
index 026b14267..3dcd5ac68 100644
--- a/os/kernel/include/ch.h
+++ b/os/kernel/include/ch.h
@@ -100,14 +100,17 @@
#endif
/** @} */
+/* Forward declaration of the thread structure, it is used in most
+ modules.*/
typedef struct Thread Thread;
+/* Inclusion of all the kernel sub-headers.*/
#include "chconf.h"
#include "chtypes.h"
#include "chdebug.h"
#include "chcore.h"
#include "chthreads.h"
-//#include "chlists.h"
+#include "chlists.h"
#include "chsys.h"
#include "chvt.h"
#include "chschd.h"
@@ -123,7 +126,6 @@ typedef struct Thread Thread;
#include "chmempools.h"
#include "chdynamic.h"
#include "chregistry.h"
-#include "chinline.h"
#include "chqueues.h"
#include "chstreams.h"
#include "chfiles.h"
diff --git a/os/kernel/include/chinline.h b/os/kernel/include/chinline.h
deleted file mode 100644
index 46ac45a84..000000000
--- a/os/kernel/include/chinline.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-*/
-
-/**
- * @file chinline.h
- * @brief Kernel inlined functions.
- * @details In this file there are a set of inlined functions if the
- * @p CH_OPTIMIZE_SPEED is enabled.
- */
-
-#ifndef _CHINLINE_H_
-#define _CHINLINE_H_
-
-/* If the performance code path has been chosen then all the following
- functions are inlined into the various kernel modules.*/
-#if CH_OPTIMIZE_SPEED
-static INLINE void prio_insert(Thread *tp, ThreadsQueue *tqp) {
-
- Thread *cp = (Thread *)tqp;
- do {
- cp = cp->p_next;
- } while ((cp != (Thread *)tqp) && (cp->p_prio >= tp->p_prio));
- tp->p_next = cp;
- tp->p_prev = cp->p_prev;
- tp->p_prev->p_next = cp->p_prev = tp;
-}
-
-static INLINE void queue_insert(Thread *tp, ThreadsQueue *tqp) {
-
- tp->p_next = (Thread *)tqp;
- tp->p_prev = tqp->p_prev;
- tp->p_prev->p_next = tqp->p_prev = tp;
-}
-
-static INLINE Thread *fifo_remove(ThreadsQueue *tqp) {
- Thread *tp = tqp->p_next;
-
- (tqp->p_next = tp->p_next)->p_prev = (Thread *)tqp;
- return tp;
-}
-
-static INLINE Thread *lifo_remove(ThreadsQueue *tqp) {
- Thread *tp = tqp->p_prev;
-
- (tqp->p_prev = tp->p_prev)->p_next = (Thread *)tqp;
- return tp;
-}
-
-static INLINE Thread *dequeue(Thread *tp) {
-
- tp->p_prev->p_next = tp->p_next;
- tp->p_next->p_prev = tp->p_prev;
- return tp;
-}
-
-static INLINE void list_insert(Thread *tp, ThreadsList *tlp) {
-
- tp->p_next = tlp->p_next;
- tlp->p_next = tp;
-}
-
-static INLINE Thread *list_remove(ThreadsList *tlp) {
-
- Thread *tp = tlp->p_next;
- tlp->p_next = tp->p_next;
- return tp;
-}
-#endif /* CH_OPTIMIZE_SPEED */
-
-#endif /* _CHINLINE_H_ */
diff --git a/os/kernel/include/chlists.h b/os/kernel/include/chlists.h
new file mode 100644
index 000000000..e47f0b704
--- /dev/null
+++ b/os/kernel/include/chlists.h
@@ -0,0 +1,194 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
+ 2011,2012,2013 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+/**
+ * @file chlists.h
+ * @brief Thread queues/lists inlined code.
+ *
+ * @addtogroup internals
+ * @{
+ */
+
+#ifndef _CHLISTS_H_
+#define _CHLISTS_H_
+
+/*===========================================================================*/
+/* Module constants. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Module pre-compile time settings. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Derived constants and error checks. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Module data structures and types. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Module macros. */
+/*===========================================================================*/
+
+/**
+ * @brief Data part of a static threads queue initializer.
+ * @details This macro should be used when statically initializing a threads
+ * queue that is part of a bigger structure.
+ *
+ * @param[in] name the name of the threads queue variable
+ */
+#define _THREADSQUEUE_DATA(name) {(Thread *)&name, (Thread *)&name}
+
+/**
+ * @brief Static threads queue initializer.
+ * @details Statically initialized threads queues require no explicit
+ * initialization using @p queue_init().
+ *
+ * @param[in] name the name of the threads queue variable
+ */
+#define THREADSQUEUE_DECL(name) ThreadsQueue name = _THREADSQUEUE_DATA(name)
+
+/*===========================================================================*/
+/* External declarations. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Module inline functions. */
+/*===========================================================================*/
+
+/**
+ * @brief Threads list initialization.
+ *
+ * @notapi
+ */
+static inline void list_init(ThreadsList *tlp) {
+
+ tlp->p_next = (Thread *)tlp;
+}
+
+/**
+ * @brief Evaluates to @p TRUE if the specified threads list is empty.
+ *
+ * @notapi
+ */
+static inline bool_t list_isempty(ThreadsList *tlp) {
+
+ return (bool_t)(tlp->p_next == (Thread *)tlp);
+}
+
+/**
+ * @brief Evaluates to @p TRUE if the specified threads list is not empty.
+ *
+ * @notapi
+ */
+static inline bool_t list_notempty(ThreadsList *tlp) {
+
+ return (bool_t)(tlp->p_next != (Thread *)tlp);
+}
+
+/**
+ * @brief Threads queue initialization.
+ *
+ * @notapi
+ */
+static inline void queue_init(ThreadsQueue *tqp) {
+
+ tqp->p_next = tqp->p_prev = (Thread *)tqp;
+}
+
+/**
+ * @brief Evaluates to @p TRUE if the specified threads queue is empty.
+ *
+ * @notapi
+ */
+static inline bool_t queue_isempty(ThreadsQueue *tqp) {
+
+ return (bool_t)(tqp->p_next == (Thread *)tqp);
+}
+
+/**
+ * @brief Evaluates to @p TRUE if the specified threads queue is not empty.
+ *
+ * @notapi
+ */
+static inline bool_t queue_notempty(ThreadsQueue *tqp) {
+
+ return (bool_t)(tqp->p_next != (Thread *)tqp);
+}
+
+/* If the performance code path has been chosen then all the following
+ functions are inlined into the various kernel modules.*/
+#if CH_OPTIMIZE_SPEED
+static inline void list_insert(Thread *tp, ThreadsList *tlp) {
+
+ tp->p_next = tlp->p_next;
+ tlp->p_next = tp;
+}
+
+static inline Thread *list_remove(ThreadsList *tlp) {
+
+ Thread *tp = tlp->p_next;
+ tlp->p_next = tp->p_next;
+ return tp;
+}
+
+static inline void queue_prio_insert(Thread *tp, ThreadsQueue *tqp) {
+
+ Thread *cp = (Thread *)tqp;
+ do {
+ cp = cp->p_next;
+ } while ((cp != (Thread *)tqp) && (cp->p_prio >= tp->p_prio));
+ tp->p_next = cp;
+ tp->p_prev = cp->p_prev;
+ tp->p_prev->p_next = cp->p_prev = tp;
+}
+
+static inline void queue_insert(Thread *tp, ThreadsQueue *tqp) {
+
+ tp->p_next = (Thread *)tqp;
+ tp->p_prev = tqp->p_prev;
+ tp->p_prev->p_next = tqp->p_prev = tp;
+}
+
+static inline Thread *queue_fifo_remove(ThreadsQueue *tqp) {
+ Thread *tp = tqp->p_next;
+
+ (tqp->p_next = tp->p_next)->p_prev = (Thread *)tqp;
+ return tp;
+}
+
+static inline Thread *queue_lifo_remove(ThreadsQueue *tqp) {
+ Thread *tp = tqp->p_prev;
+
+ (tqp->p_prev = tp->p_prev)->p_next = (Thread *)tqp;
+ return tp;
+}
+
+static inline Thread *queue_dequeue(Thread *tp) {
+
+ tp->p_prev->p_next = tp->p_next;
+ tp->p_next->p_prev = tp->p_prev;
+ return tp;
+}
+#endif /* CH_OPTIMIZE_SPEED */
+
+#endif /* _CHLISTS_H_ */
diff --git a/os/kernel/include/chthreads.h b/os/kernel/include/chthreads.h
index 1341cb1ea..854a72dde 100644
--- a/os/kernel/include/chthreads.h
+++ b/os/kernel/include/chthreads.h
@@ -265,24 +265,6 @@ typedef msg_t (*tfunc_t)(void *);
/* Module macros. */
/*===========================================================================*/
-/**
- * @brief Data part of a static threads queue initializer.
- * @details This macro should be used when statically initializing a threads
- * queue that is part of a bigger structure.
- *
- * @param[in] name the name of the threads queue variable
- */
-#define _THREADSQUEUE_DATA(name) {(Thread *)&name, (Thread *)&name}
-
-/**
- * @brief Static threads queue initializer.
- * @details Statically initialized threads queues require no explicit
- * initialization using @p queue_init().
- *
- * @param[in] name the name of the threads queue variable
- */
-#define THREADSQUEUE_DECL(name) ThreadsQueue name = _THREADSQUEUE_DATA(name)
-
/*===========================================================================*/
/* External declarations. */
/*===========================================================================*/
@@ -437,66 +419,6 @@ extern "C" {
/* Module inline functions. */
/*===========================================================================*/
-/**
- * @brief Threads list initialization.
- *
- * @notapi
- */
-static inline void list_init(ThreadsList *tlp) {
-
- tlp->p_next = (Thread *)tlp;
-}
-
-/**
- * @brief Evaluates to @p TRUE if the specified threads list is empty.
- *
- * @notapi
- */
-static inline bool_t list_isempty(ThreadsList *tlp) {
-
- return (bool_t)(tlp->p_next == (Thread *)tlp);
-}
-
-/**
- * @brief Evaluates to @p TRUE if the specified threads list is not empty.
- *
- * @notapi
- */
-static inline bool_t list_notempty(ThreadsList *tlp) {
-
- return (bool_t)(tlp->p_next != (Thread *)tlp);
-}
-
-/**
- * @brief Threads queue initialization.
- *
- * @notapi
- */
-static inline void queue_init(ThreadsQueue *tqp) {
-
- tqp->p_next = tqp->p_prev = (Thread *)tqp;
-}
-
-/**
- * @brief Evaluates to @p TRUE if the specified threads queue is empty.
- *
- * @notapi
- */
-static inline bool_t queue_isempty(ThreadsQueue *tqp) {
-
- return (bool_t)(tqp->p_next == (Thread *)tqp);
-}
-
-/**
- * @brief Evaluates to @p TRUE if the specified threads queue is not empty.
- *
- * @notapi
- */
-static inline bool_t queue_notempty(ThreadsQueue *tqp) {
-
- return (bool_t)(tqp->p_next != (Thread *)tqp);
-}
-
#endif /* _CHTHREADS_H_ */
/** @} */
diff --git a/os/kernel/src/chcond.c b/os/kernel/src/chcond.c
index 0e404808f..e6bf51652 100644
--- a/os/kernel/src/chcond.c
+++ b/os/kernel/src/chcond.c
@@ -69,7 +69,7 @@ void chCondSignal(CondVar *cp) {
chSysLock();
if (queue_notempty(&cp->c_queue))
- chSchWakeupS(fifo_remove(&cp->c_queue), RDY_OK);
+ chSchWakeupS(queue_fifo_remove(&cp->c_queue), RDY_OK);
chSysUnlock();
}
@@ -90,7 +90,7 @@ void chCondSignalI(CondVar *cp) {
chDbgCheck(cp != NULL, "chCondSignalI");
if (queue_notempty(&cp->c_queue))
- chSchReadyI(fifo_remove(&cp->c_queue))->p_u.rdymsg = RDY_OK;
+ chSchReadyI(queue_fifo_remove(&cp->c_queue))->p_u.rdymsg = RDY_OK;
}
/**
@@ -128,7 +128,7 @@ void chCondBroadcastI(CondVar *cp) {
ready list in FIFO order. The wakeup message is set to @p RDY_RESET in
order to make a chCondBroadcast() detectable from a chCondSignal().*/
while (cp->c_queue.p_next != (void *)&cp->c_queue)
- chSchReadyI(fifo_remove(&cp->c_queue))->p_u.rdymsg = RDY_RESET;
+ chSchReadyI(queue_fifo_remove(&cp->c_queue))->p_u.rdymsg = RDY_RESET;
}
/**
@@ -187,7 +187,7 @@ msg_t chCondWaitS(CondVar *cp) {
mp = chMtxUnlockS();
ctp->p_u.wtobjp = cp;
- prio_insert(ctp, &cp->c_queue);
+ queue_prio_insert(ctp, &cp->c_queue);
chSchGoSleepS(THD_STATE_WTCOND);
msg = ctp->p_u.rdymsg;
chMtxLockS(mp);
@@ -272,7 +272,7 @@ msg_t chCondWaitTimeoutS(CondVar *cp, systime_t time) {
mp = chMtxUnlockS();
currp->p_u.wtobjp = cp;
- prio_insert(currp, &cp->c_queue);
+ queue_prio_insert(currp, &cp->c_queue);
msg = chSchGoSleepTimeoutS(THD_STATE_WTCOND, time);
if (msg != RDY_TIMEOUT)
chMtxLockS(mp);
diff --git a/os/kernel/src/chlists.c b/os/kernel/src/chlists.c
index 8ee309200..2183171a7 100644
--- a/os/kernel/src/chlists.c
+++ b/os/kernel/src/chlists.c
@@ -41,7 +41,7 @@
*
* @notapi
*/
-void prio_insert(Thread *tp, ThreadsQueue *tqp) {
+void queue_prio_insert(Thread *tp, ThreadsQueue *tqp) {
/* cp iterates over the queue.*/
Thread *cp = (Thread *)tqp;
@@ -81,7 +81,7 @@ void queue_insert(Thread *tp, ThreadsQueue *tqp) {
*
* @notapi
*/
-Thread *fifo_remove(ThreadsQueue *tqp) {
+Thread *queue_fifo_remove(ThreadsQueue *tqp) {
Thread *tp = tqp->p_next;
(tqp->p_next = tp->p_next)->p_prev = (Thread *)tqp;
@@ -98,7 +98,7 @@ Thread *fifo_remove(ThreadsQueue *tqp) {
*
* @notapi
*/
-Thread *lifo_remove(ThreadsQueue *tqp) {
+Thread *queue_lifo_remove(ThreadsQueue *tqp) {
Thread *tp = tqp->p_prev;
(tqp->p_prev = tp->p_prev)->p_next = (Thread *)tqp;
@@ -115,7 +115,7 @@ Thread *lifo_remove(ThreadsQueue *tqp) {
*
* @notapi
*/
-Thread *dequeue(Thread *tp) {
+Thread *queue_dequeue(Thread *tp) {
tp->p_prev->p_next = tp->p_next;
tp->p_next->p_prev = tp->p_prev;
diff --git a/os/kernel/src/chmsg.c b/os/kernel/src/chmsg.c
index ad97da79c..d27713ef0 100644
--- a/os/kernel/src/chmsg.c
+++ b/os/kernel/src/chmsg.c
@@ -102,7 +102,7 @@ Thread *chMsgWait(void) {
chSysLock();
if (!chMsgIsPendingI(currp))
chSchGoSleepS(THD_STATE_WTMSG);
- tp = fifo_remove(&currp->p_msgqueue);
+ tp = queue_fifo_remove(&currp->p_msgqueue);
tp->p_state = THD_STATE_SNDMSG;
chSysUnlock();
return tp;
diff --git a/os/kernel/src/chmtx.c b/os/kernel/src/chmtx.c
index 84d7e53a6..adeb0dd52 100644
--- a/os/kernel/src/chmtx.c
+++ b/os/kernel/src/chmtx.c
@@ -132,7 +132,7 @@ void chMtxLockS(Mutex *mp) {
switch (tp->p_state) {
case THD_STATE_WTMTX:
/* Re-enqueues the mutex owner with its new priority.*/
- prio_insert(dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp);
+ queue_prio_insert(queue_dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp);
tp = ((Mutex *)tp->p_u.wtobjp)->m_owner;
continue;
#if CH_USE_CONDVARS | \
@@ -148,7 +148,7 @@ void chMtxLockS(Mutex *mp) {
case THD_STATE_SNDMSGQ:
#endif
/* Re-enqueues tp with its new priority on the queue.*/
- prio_insert(dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp);
+ queue_prio_insert(queue_dequeue(tp), (ThreadsQueue *)tp->p_u.wtobjp);
break;
#endif
case THD_STATE_READY:
@@ -157,13 +157,13 @@ void chMtxLockS(Mutex *mp) {
tp->p_state = THD_STATE_CURRENT;
#endif
/* Re-enqueues tp with its new priority on the ready list.*/
- chSchReadyI(dequeue(tp));
+ chSchReadyI(queue_dequeue(tp));
break;
}
break;
}
/* Sleep on the mutex.*/
- prio_insert(ctp, &mp->m_queue);
+ queue_prio_insert(ctp, &mp->m_queue);
ctp->p_u.wtobjp = mp;
chSchGoSleepS(THD_STATE_WTMTX);
/* It is assumed that the thread performing the unlock operation assigns
@@ -283,7 +283,7 @@ Mutex *chMtxUnlock(void) {
ctp->p_prio = newprio;
/* Awakens the highest priority thread waiting for the unlocked mutex and
assigns the mutex to it.*/
- tp = fifo_remove(&ump->m_queue);
+ tp = queue_fifo_remove(&ump->m_queue);
ump->m_owner = tp;
ump->m_next = tp->p_mtxlist;
tp->p_mtxlist = ump;
@@ -342,7 +342,7 @@ Mutex *chMtxUnlockS(void) {
ctp->p_prio = newprio;
/* Awakens the highest priority thread waiting for the unlocked mutex and
assigns the mutex to it.*/
- tp = fifo_remove(&ump->m_queue);
+ tp = queue_fifo_remove(&ump->m_queue);
ump->m_owner = tp;
ump->m_next = tp->p_mtxlist;
tp->p_mtxlist = ump;
@@ -373,7 +373,7 @@ void chMtxUnlockAll(void) {
Mutex *ump = ctp->p_mtxlist;
ctp->p_mtxlist = ump->m_next;
if (chMtxQueueNotEmptyS(ump)) {
- Thread *tp = fifo_remove(&ump->m_queue);
+ Thread *tp = queue_fifo_remove(&ump->m_queue);
ump->m_owner = tp;
ump->m_next = tp->p_mtxlist;
tp->p_mtxlist = ump;
diff --git a/os/kernel/src/chqueues.c b/os/kernel/src/chqueues.c
index fa2bd527b..a4b0aa416 100644
--- a/os/kernel/src/chqueues.c
+++ b/os/kernel/src/chqueues.c
@@ -114,7 +114,7 @@ void chIQResetI(InputQueue *iqp) {
iqp->q_rdptr = iqp->q_wrptr = iqp->q_buffer;
iqp->q_counter = 0;
while (queue_notempty(&iqp->q_waiting))
- chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_RESET;
+ chSchReadyI(queue_fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_RESET;
}
/**
@@ -143,7 +143,7 @@ msg_t chIQPutI(InputQueue *iqp, uint8_t b) {
iqp->q_wrptr = iqp->q_buffer;
if (queue_notempty(&iqp->q_waiting))
- chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_OK;
+ chSchReadyI(queue_fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_OK;
return Q_OK;
}
@@ -294,7 +294,7 @@ void chOQResetI(OutputQueue *oqp) {
oqp->q_rdptr = oqp->q_wrptr = oqp->q_buffer;
oqp->q_counter = chQSizeI(oqp);
while (queue_notempty(&oqp->q_waiting))
- chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_RESET;
+ chSchReadyI(queue_fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_RESET;
}
/**
@@ -367,7 +367,7 @@ msg_t chOQGetI(OutputQueue *oqp) {
oqp->q_rdptr = oqp->q_buffer;
if (queue_notempty(&oqp->q_waiting))
- chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_OK;
+ chSchReadyI(queue_fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_OK;
return b;
}
diff --git a/os/kernel/src/chschd.c b/os/kernel/src/chschd.c
index 285c36ba3..ab9b88040 100644
--- a/os/kernel/src/chschd.c
+++ b/os/kernel/src/chschd.c
@@ -116,7 +116,7 @@ void chSchGoSleepS(tstate_t newstate) {
time quantum when it will wakeup.*/
otp->p_preempt = CH_TIME_QUANTUM;
#endif
- setcurrp(fifo_remove(&rlist.r_queue));
+ setcurrp(queue_fifo_remove(&rlist.r_queue));
currp->p_state = THD_STATE_CURRENT;
chSysSwitch(currp, otp);
}
@@ -150,7 +150,7 @@ static void wakeup(void *p) {
case THD_STATE_WTCOND:
#endif
/* States requiring dequeuing.*/
- dequeue(tp);
+ queue_dequeue(tp);
#endif
}
tp->p_u.rdymsg = RDY_TIMEOUT;
@@ -299,7 +299,7 @@ void chSchDoRescheduleBehind(void) {
otp = currp;
/* Picks the first thread from the ready queue and makes it current.*/
- setcurrp(fifo_remove(&rlist.r_queue));
+ setcurrp(queue_fifo_remove(&rlist.r_queue));
currp->p_state = THD_STATE_CURRENT;
#if CH_TIME_QUANTUM > 0
otp->p_preempt = CH_TIME_QUANTUM;
@@ -324,7 +324,7 @@ void chSchDoRescheduleAhead(void) {
otp = currp;
/* Picks the first thread from the ready queue and makes it current.*/
- setcurrp(fifo_remove(&rlist.r_queue));
+ setcurrp(queue_fifo_remove(&rlist.r_queue));
currp->p_state = THD_STATE_CURRENT;
otp->p_state = THD_STATE_READY;
diff --git a/os/kernel/src/chsem.c b/os/kernel/src/chsem.c
index 7ea365291..c91264b9d 100644
--- a/os/kernel/src/chsem.c
+++ b/os/kernel/src/chsem.c
@@ -139,7 +139,7 @@ void chSemResetI(Semaphore *sp, cnt_t n) {
cnt = sp->s_cnt;
sp->s_cnt = n;
while (++cnt <= 0)
- chSchReadyI(lifo_remove(&sp->s_queue))->p_u.rdymsg = RDY_RESET;
+ chSchReadyI(queue_lifo_remove(&sp->s_queue))->p_u.rdymsg = RDY_RESET;
}
/**
@@ -278,7 +278,7 @@ void chSemSignal(Semaphore *sp) {
chSysLock();
if (++sp->s_cnt <= 0)
- chSchWakeupS(fifo_remove(&sp->s_queue), RDY_OK);
+ chSchWakeupS(queue_fifo_remove(&sp->s_queue), RDY_OK);
chSysUnlock();
}
@@ -305,7 +305,7 @@ void chSemSignalI(Semaphore *sp) {
if (++sp->s_cnt <= 0) {
/* Note, it is done this way in order to allow a tail call on
chSchReadyI().*/
- Thread *tp = fifo_remove(&sp->s_queue);
+ Thread *tp = queue_fifo_remove(&sp->s_queue);
tp->p_u.rdymsg = RDY_OK;
chSchReadyI(tp);
}
@@ -335,7 +335,7 @@ void chSemAddCounterI(Semaphore *sp, cnt_t n) {
while (n > 0) {
if (++sp->s_cnt <= 0)
- chSchReadyI(fifo_remove(&sp->s_queue))->p_u.rdymsg = RDY_OK;
+ chSchReadyI(queue_fifo_remove(&sp->s_queue))->p_u.rdymsg = RDY_OK;
n--;
}
}
@@ -371,7 +371,7 @@ msg_t chSemSignalWait(Semaphore *sps, Semaphore *spw) {
chSysLock();
if (++sps->s_cnt <= 0)
- chSchReadyI(fifo_remove(&sps->s_queue))->p_u.rdymsg = RDY_OK;
+ chSchReadyI(queue_fifo_remove(&sps->s_queue))->p_u.rdymsg = RDY_OK;
if (--spw->s_cnt < 0) {
Thread *ctp = currp;
sem_insert(ctp, &spw->s_queue);