diff --git a/drivers/serial.c b/drivers/serial.c
index 20be5abb626362bcfffd455d3cfd3b25b5fe29f6..660b66727778b72f253a9682e4b9f53a4ea1c9a4 100644
--- a/drivers/serial.c
+++ b/drivers/serial.c
@@ -113,10 +113,7 @@ static void uart_takesem(FAR sem_t *sem)
  * Name: uart_givesem
  ************************************************************************************/
 
-static inline void uart_givesem(FAR sem_t *sem)
-{
-  (void)sem_post(sem);
-}
+#define uart_givesem(sem) (void)sem_post(sem)
 
 /************************************************************************************
  * Name: uart_putxmitchar
diff --git a/drivers/serialirq.c b/drivers/serialirq.c
index 6f08f8ccaf248c1ae5216da59ee237fed2aa01f9..fc9f59eb7406d2ee248e1f6988cf4cf91c60cd2a 100644
--- a/drivers/serialirq.c
+++ b/drivers/serialirq.c
@@ -94,7 +94,7 @@ void uart_xmitchars(FAR uart_dev_t *dev)
       if (dev->xmitwaiting)
         {
           dev->xmitwaiting = FALSE;
-          uart_givesem(&dev->xmitsem);
+          (void)sem_post(&dev->xmitsem);
         }
     }
 
@@ -142,7 +142,7 @@ void uart_recvchars(FAR uart_dev_t *dev)
       if (dev->recvwaiting)
         {
           dev->recvwaiting = FALSE;
-          uart_givesem(&dev->recvsem);
+          (void)sem_post(&dev->recvsem);
         }
     }
 }