This is an automated email from the ASF dual-hosted git repository.

masayuki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 001e7c3  sched: Don't include nuttx/sched.h inside sched.h
001e7c3 is described below

commit 001e7c3e763e228a91736286c3e0d0a8493a694c
Author: Xiang Xiao <[email protected]>
AuthorDate: Fri May 14 10:03:23 2021 +0800

    sched: Don't include nuttx/sched.h inside sched.h
    
    But let nuttx/sched.h include sched.h instead to
    avoid expose nuttx kernel API to userspace.
    
    Signed-off-by: Xiang Xiao <[email protected]>
---
 arch/arm/src/common/arm_modifyreg16.c              |  3 +-
 arch/arm/src/common/arm_modifyreg32.c              |  3 +-
 arch/arm/src/common/arm_modifyreg8.c               |  3 +-
 arch/arm/src/cxd56xx/cxd56_gpioint.c               |  1 +
 arch/arm/src/cxd56xx/cxd56_irq.c                   |  2 +-
 arch/arm/src/cxd56xx/cxd56_rtc.c                   |  1 +
 arch/arm/src/cxd56xx/cxd56_uart.c                  |  2 +-
 arch/arm/src/imx6/imx_enet.c                       |  1 +
 arch/arm/src/imxrt/imxrt_edma.c                    |  1 +
 arch/arm/src/imxrt/imxrt_enet.c                    |  1 +
 arch/arm/src/imxrt/imxrt_hprtc.c                   |  1 +
 arch/arm/src/imxrt/imxrt_serial.c                  |  1 +
 arch/arm/src/imxrt/imxrt_wdog.c                    |  1 +
 arch/arm/src/lc823450/lc823450_dma.c               |  1 +
 arch/arm/src/lc823450/lc823450_dvfs2.c             |  1 +
 arch/arm/src/lc823450/lc823450_gpio.c              |  1 +
 arch/arm/src/lc823450/lc823450_irq.c               |  2 +-
 arch/arm/src/lc823450/lc823450_syscontrol.c        |  2 +-
 arch/arm/src/lc823450/lc823450_timer.c             |  1 +
 arch/arm/src/lc823450/lc823450_usbdev.c            |  1 +
 arch/arm/src/max326xx/max32660/max32660_dma.c      |  1 +
 arch/arm/src/max326xx/max32660/max32660_gpio.c     |  2 +-
 arch/arm/src/max326xx/max32660/max32660_lowputc.c  |  2 +
 arch/arm/src/max326xx/max32660/max32660_rtc.c      |  1 +
 arch/arm/src/max326xx/max32660/max32660_serial.c   |  1 +
 arch/arm/src/max326xx/max32660/max32660_wdt.c      |  1 +
 arch/arm/src/nrf52/nrf52_gpio.c                    |  2 +-
 arch/arm/src/rp2040/rp2040_uart.c                  |  2 +-
 arch/arm/src/s32k1xx/s32k1xx_edma.c                |  1 +
 arch/arm/src/s32k1xx/s32k1xx_enet.c                |  1 +
 arch/arm/src/s32k1xx/s32k1xx_serial.c              |  1 +
 arch/arm/src/stm32/stm32_hciuart.c                 |  1 +
 arch/arm/src/tiva/cc13xx/cc13xx_enablepwr.c        |  2 +-
 arch/arm/src/tiva/cc13xx/cc13xx_gpio.c             |  2 +-
 arch/arm/src/tiva/common/tiva_hciuart.c            |  1 +
 arch/or1k/src/common/up_modifyreg16.c              |  3 +-
 arch/or1k/src/common/up_modifyreg32.c              |  3 +-
 arch/or1k/src/common/up_modifyreg8.c               |  3 +-
 arch/risc-v/src/bl602/bl602_timerisr.c             |  1 +
 arch/risc-v/src/c906/c906_timerisr.c               |  1 +
 arch/risc-v/src/common/riscv_modifyreg32.c         |  3 +-
 arch/risc-v/src/esp32c3/esp32c3_idle.c             |  2 +-
 arch/risc-v/src/esp32c3/esp32c3_std_atomic.c       |  3 +-
 arch/risc-v/src/esp32c3/esp32c3_wifi_adapter.c     |  5 +-
 arch/risc-v/src/fe310/fe310_gpio.c                 |  1 +
 arch/risc-v/src/fe310/fe310_timerisr.c             |  1 +
 arch/risc-v/src/k210/k210_timerisr.c               |  1 +
 arch/risc-v/src/litex/litex_timerisr.c             |  1 +
 arch/risc-v/src/rv64gc/riscv_schedulesigaction.c   |  2 +-
 arch/x86_64/include/intel64/arch.h                 |  4 --
 arch/xtensa/include/arch.h                         |  4 ++
 arch/xtensa/src/esp32/esp32_himem.c                |  1 +
 arch/xtensa/src/esp32/esp32_idle.c                 |  2 +-
 arch/xtensa/src/esp32/esp32_intercpu_interrupt.c   |  1 -
 arch/xtensa/src/esp32/esp32_spiram.c               |  2 +-
 arch/xtensa/src/esp32/esp32_wifi_adapter.c         |  4 +-
 .../arm/imxrt/imxrt1020-evk/src/imxrt_ethernet.c   |  1 +
 .../arm/imxrt/imxrt1050-evk/src/imxrt_ethernet.c   |  1 +
 .../arm/imxrt/imxrt1060-evk/src/imxrt_ethernet.c   |  1 +
 .../arm/imxrt/imxrt1064-evk/src/imxrt_ethernet.c   |  1 +
 boards/arm/imxrt/teensy-4.x/src/imxrt_ethernet.c   |  1 +
 .../max326xx/max32660-evsys/src/max326_button.c    |  1 +
 .../arm/stm32/stm32f4discovery/src/stm32_gs2200m.c |  1 +
 drivers/audio/cxd56.c                              |  1 +
 drivers/audio/cxd56_src.c                          |  2 +-
 drivers/audio/wm8776.c                             |  2 +-
 drivers/i2c/i2c_bitbang.c                          |  2 +-
 drivers/ioexpander/gpio.c                          |  1 +
 drivers/usbmonitor/usbmonitor.c                    |  2 +-
 drivers/wireless/bluetooth/bt_uart_shim.c          |  3 +-
 graphics/vnc/server/vnc_fbdev.c                    |  1 +
 include/nuttx/arch.h                               |  2 +-
 include/nuttx/fs/fs.h                              |  5 +-
 include/nuttx/irq.h                                | 79 +---------------------
 include/nuttx/sched.h                              |  1 +
 include/nuttx/semaphore.h                          | 66 ------------------
 include/nuttx/spinlock.h                           | 77 +++++++++++++++++++++
 include/pthread.h                                  |  3 +-
 include/sched.h                                    |  3 +-
 include/semaphore.h                                | 66 ++++++++++++++++++
 include/stdio.h                                    |  2 +-
 libs/libc/pthread/pthread_create.c                 |  2 +-
 libs/libc/pthread/pthread_spinlock.c               | 13 +---
 libs/libc/sched/task_startup.c                     |  1 +
 libs/libc/tls/task_getinfo.c                       |  3 +-
 libs/libc/unistd/lib_getpriority.c                 |  3 +-
 libs/libc/unistd/lib_setpriority.c                 |  1 +
 libs/libc/wqueue/work_lock.c                       |  2 +
 net/socket/net_dup2.c                              |  1 +
 net/tcp/tcp_txdrain.c                              |  2 +
 net/udp/udp_txdrain.c                              |  2 +
 sched/clock/clock_gettime.c                        |  2 +-
 sched/group/group_exitinfo.c                       |  2 +-
 sched/group/group_tlsalloc.c                       |  2 +-
 sched/group/group_tlsfree.c                        |  2 +-
 sched/group/group_tlsgetdtor.c                     |  1 +
 sched/group/group_tlsgetset.c                      |  1 +
 sched/group/group_tlssetdtor.c                     |  1 +
 sched/pthread/pthread.h                            |  3 +-
 sched/semaphore/semaphore.h                        |  2 +-
 sched/signal/sig_default.c                         |  2 +-
 wireless/bluetooth/bt_atomic.c                     |  2 +-
 wireless/bluetooth/bt_buf.c                        |  2 +-
 wireless/bluetooth/bt_hcicore.c                    |  1 +
 wireless/bluetooth/bt_netdev.c                     |  3 +-
 105 files changed, 256 insertions(+), 224 deletions(-)

diff --git a/arch/arm/src/common/arm_modifyreg16.c 
b/arch/arm/src/common/arm_modifyreg16.c
index d307f86..b228063 100644
--- a/arch/arm/src/common/arm_modifyreg16.c
+++ b/arch/arm/src/common/arm_modifyreg16.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 
diff --git a/arch/arm/src/common/arm_modifyreg32.c 
b/arch/arm/src/common/arm_modifyreg32.c
index 06d6457..bdbf309 100644
--- a/arch/arm/src/common/arm_modifyreg32.c
+++ b/arch/arm/src/common/arm_modifyreg32.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 
diff --git a/arch/arm/src/common/arm_modifyreg8.c 
b/arch/arm/src/common/arm_modifyreg8.c
index 93d7da4..d819d26 100644
--- a/arch/arm/src/common/arm_modifyreg8.c
+++ b/arch/arm/src/common/arm_modifyreg8.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 
diff --git a/arch/arm/src/cxd56xx/cxd56_gpioint.c 
b/arch/arm/src/cxd56xx/cxd56_gpioint.c
index 2259de1..1b1eab0 100644
--- a/arch/arm/src/cxd56xx/cxd56_gpioint.c
+++ b/arch/arm/src/cxd56xx/cxd56_gpioint.c
@@ -29,6 +29,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 #include "chip.h"
diff --git a/arch/arm/src/cxd56xx/cxd56_irq.c b/arch/arm/src/cxd56xx/cxd56_irq.c
index 2ef2d73..7e03f43 100644
--- a/arch/arm/src/cxd56xx/cxd56_irq.c
+++ b/arch/arm/src/cxd56xx/cxd56_irq.c
@@ -30,7 +30,7 @@
 #include <nuttx/board.h>
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
-#include <arch/irq.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "chip.h"
diff --git a/arch/arm/src/cxd56xx/cxd56_rtc.c b/arch/arm/src/cxd56xx/cxd56_rtc.c
index 410f09f..7880a5a 100644
--- a/arch/arm/src/cxd56xx/cxd56_rtc.c
+++ b/arch/arm/src/cxd56xx/cxd56_rtc.c
@@ -32,6 +32,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/wdog.h>
 #include <nuttx/clock.h>
 
diff --git a/arch/arm/src/cxd56xx/cxd56_uart.c 
b/arch/arm/src/cxd56xx/cxd56_uart.c
index 3ddfac6..54cc65b 100644
--- a/arch/arm/src/cxd56xx/cxd56_uart.c
+++ b/arch/arm/src/cxd56xx/cxd56_uart.c
@@ -26,7 +26,7 @@
 
 #include <stdint.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include <errno.h>
diff --git a/arch/arm/src/imx6/imx_enet.c b/arch/arm/src/imx6/imx_enet.c
index 59e7119..3dda186 100644
--- a/arch/arm/src/imx6/imx_enet.c
+++ b/arch/arm/src/imx6/imx_enet.c
@@ -38,6 +38,7 @@
 #include <nuttx/wdog.h>
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/wqueue.h>
 #include <nuttx/signal.h>
 #include <nuttx/net/mii.h>
diff --git a/arch/arm/src/imxrt/imxrt_edma.c b/arch/arm/src/imxrt/imxrt_edma.c
index 9354282..737c8a1 100644
--- a/arch/arm/src/imxrt/imxrt_edma.c
+++ b/arch/arm/src/imxrt/imxrt_edma.c
@@ -55,6 +55,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/semaphore.h>
 
 #include "arm_arch.h"
diff --git a/arch/arm/src/imxrt/imxrt_enet.c b/arch/arm/src/imxrt/imxrt_enet.c
index a677908..61ed27a 100644
--- a/arch/arm/src/imxrt/imxrt_enet.c
+++ b/arch/arm/src/imxrt/imxrt_enet.c
@@ -38,6 +38,7 @@
 #include <nuttx/wdog.h>
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/wqueue.h>
 #include <nuttx/signal.h>
 #include <nuttx/net/mii.h>
diff --git a/arch/arm/src/imxrt/imxrt_hprtc.c b/arch/arm/src/imxrt/imxrt_hprtc.c
index 0e0c4e5..fb15ad6 100644
--- a/arch/arm/src/imxrt/imxrt_hprtc.c
+++ b/arch/arm/src/imxrt/imxrt_hprtc.c
@@ -33,6 +33,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/timers/rtc.h>
 
 #include <arch/board/board.h>
diff --git a/arch/arm/src/imxrt/imxrt_serial.c 
b/arch/arm/src/imxrt/imxrt_serial.c
index bebf19e..6507676 100644
--- a/arch/arm/src/imxrt/imxrt_serial.c
+++ b/arch/arm/src/imxrt/imxrt_serial.c
@@ -38,6 +38,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/init.h>
 #include <nuttx/power/pm.h>
 #include <nuttx/fs/ioctl.h>
diff --git a/arch/arm/src/imxrt/imxrt_wdog.c b/arch/arm/src/imxrt/imxrt_wdog.c
index 283d28e..b785a9c 100644
--- a/arch/arm/src/imxrt/imxrt_wdog.c
+++ b/arch/arm/src/imxrt/imxrt_wdog.c
@@ -31,6 +31,7 @@
 #include <assert.h>
 #include <errno.h>
 
+#include <nuttx/spinlock.h>
 #include <nuttx/timers/watchdog.h>
 
 #include "arm_arch.h"
diff --git a/arch/arm/src/lc823450/lc823450_dma.c 
b/arch/arm/src/lc823450/lc823450_dma.c
index 195700c..1ed240c 100644
--- a/arch/arm/src/lc823450/lc823450_dma.c
+++ b/arch/arm/src/lc823450/lc823450_dma.c
@@ -35,6 +35,7 @@
 #include <stdlib.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 #include "lc823450_dma.h"
diff --git a/arch/arm/src/lc823450/lc823450_dvfs2.c 
b/arch/arm/src/lc823450/lc823450_dvfs2.c
index 5ad33918..fabc4c0 100644
--- a/arch/arm/src/lc823450/lc823450_dvfs2.c
+++ b/arch/arm/src/lc823450/lc823450_dvfs2.c
@@ -25,6 +25,7 @@
 #include <nuttx/config.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/clock.h>
 #include <arch/board/board.h>
 #include <string.h>
diff --git a/arch/arm/src/lc823450/lc823450_gpio.c 
b/arch/arm/src/lc823450/lc823450_gpio.c
index b179245..7a6e400 100644
--- a/arch/arm/src/lc823450/lc823450_gpio.c
+++ b/arch/arm/src/lc823450/lc823450_gpio.c
@@ -26,6 +26,7 @@
 #include <nuttx/config.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <errno.h>
 #include <debug.h>
 
diff --git a/arch/arm/src/lc823450/lc823450_irq.c 
b/arch/arm/src/lc823450/lc823450_irq.c
index 38ffeb3..ffaf868 100644
--- a/arch/arm/src/lc823450/lc823450_irq.c
+++ b/arch/arm/src/lc823450/lc823450_irq.c
@@ -29,7 +29,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
-#include <arch/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/board.h>
 
 #include <arch/armv7-m/nvicpri.h>
diff --git a/arch/arm/src/lc823450/lc823450_syscontrol.c 
b/arch/arm/src/lc823450/lc823450_syscontrol.c
index 35e6b89..410fa14 100644
--- a/arch/arm/src/lc823450/lc823450_syscontrol.c
+++ b/arch/arm/src/lc823450/lc823450_syscontrol.c
@@ -23,8 +23,8 @@
  ****************************************************************************/
 
 #include <nuttx/config.h>
-#include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <stdint.h>
 #include <debug.h>
 
diff --git a/arch/arm/src/lc823450/lc823450_timer.c 
b/arch/arm/src/lc823450/lc823450_timer.c
index 526886d..18b4dce 100644
--- a/arch/arm/src/lc823450/lc823450_timer.c
+++ b/arch/arm/src/lc823450/lc823450_timer.c
@@ -29,6 +29,7 @@
 #include <time.h>
 #include <debug.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "nvic.h"
diff --git a/arch/arm/src/lc823450/lc823450_usbdev.c 
b/arch/arm/src/lc823450/lc823450_usbdev.c
index dba9ce6..3cec641 100644
--- a/arch/arm/src/lc823450/lc823450_usbdev.c
+++ b/arch/arm/src/lc823450/lc823450_usbdev.c
@@ -39,6 +39,7 @@
 #endif
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/signal.h>
 #include <nuttx/usb/usb.h>
diff --git a/arch/arm/src/max326xx/max32660/max32660_dma.c 
b/arch/arm/src/max326xx/max32660/max32660_dma.c
index 4ce5beb..9a311af 100644
--- a/arch/arm/src/max326xx/max32660/max32660_dma.c
+++ b/arch/arm/src/max326xx/max32660/max32660_dma.c
@@ -29,6 +29,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 
diff --git a/arch/arm/src/max326xx/max32660/max32660_gpio.c 
b/arch/arm/src/max326xx/max32660/max32660_gpio.c
index 54b969f..1693851 100644
--- a/arch/arm/src/max326xx/max32660/max32660_gpio.c
+++ b/arch/arm/src/max326xx/max32660/max32660_gpio.c
@@ -28,7 +28,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 
diff --git a/arch/arm/src/max326xx/max32660/max32660_lowputc.c 
b/arch/arm/src/max326xx/max32660/max32660_lowputc.c
index 72efa18..e2d3419 100644
--- a/arch/arm/src/max326xx/max32660/max32660_lowputc.c
+++ b/arch/arm/src/max326xx/max32660/max32660_lowputc.c
@@ -27,6 +27,8 @@
 #include <stdbool.h>
 #include <fixedmath.h>
 
+#include <nuttx/spinlock.h>
+
 #include "arm_arch.h"
 #include "arm_internal.h"
 
diff --git a/arch/arm/src/max326xx/max32660/max32660_rtc.c 
b/arch/arm/src/max326xx/max32660/max32660_rtc.c
index bfcc5c5..08fc3ed 100644
--- a/arch/arm/src/max326xx/max32660/max32660_rtc.c
+++ b/arch/arm/src/max326xx/max32660/max32660_rtc.c
@@ -33,6 +33,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/clock.h>
 #include <nuttx/timers/rtc.h>
 
diff --git a/arch/arm/src/max326xx/max32660/max32660_serial.c 
b/arch/arm/src/max326xx/max32660/max32660_serial.c
index b5d47ee..2b10d3e 100644
--- a/arch/arm/src/max326xx/max32660/max32660_serial.c
+++ b/arch/arm/src/max326xx/max32660/max32660_serial.c
@@ -34,6 +34,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/serial/serial.h>
 
 #include <arch/board/board.h>
diff --git a/arch/arm/src/max326xx/max32660/max32660_wdt.c 
b/arch/arm/src/max326xx/max32660/max32660_wdt.c
index cb887b2..6c974e4 100644
--- a/arch/arm/src/max326xx/max32660/max32660_wdt.c
+++ b/arch/arm/src/max326xx/max32660/max32660_wdt.c
@@ -30,6 +30,7 @@
 #include <debug.h>
 
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/clock.h>
 #include <nuttx/timers/watchdog.h>
 #include <arch/board/board.h>
diff --git a/arch/arm/src/nrf52/nrf52_gpio.c b/arch/arm/src/nrf52/nrf52_gpio.c
index df17959..f914f1c 100644
--- a/arch/arm/src/nrf52/nrf52_gpio.c
+++ b/arch/arm/src/nrf52/nrf52_gpio.c
@@ -30,7 +30,7 @@
 #include <errno.h>
 #include <debug.h>
 
-#include <arch/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 #include "hardware/nrf52_gpio.h"
diff --git a/arch/arm/src/rp2040/rp2040_uart.c 
b/arch/arm/src/rp2040/rp2040_uart.c
index b2a146c..f37e073 100644
--- a/arch/arm/src/rp2040/rp2040_uart.c
+++ b/arch/arm/src/rp2040/rp2040_uart.c
@@ -26,7 +26,7 @@
 
 #include <stdint.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include <errno.h>
diff --git a/arch/arm/src/s32k1xx/s32k1xx_edma.c 
b/arch/arm/src/s32k1xx/s32k1xx_edma.c
index 6093974..5e93602 100644
--- a/arch/arm/src/s32k1xx/s32k1xx_edma.c
+++ b/arch/arm/src/s32k1xx/s32k1xx_edma.c
@@ -56,6 +56,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/semaphore.h>
 
 #include "arm_arch.h"
diff --git a/arch/arm/src/s32k1xx/s32k1xx_enet.c 
b/arch/arm/src/s32k1xx/s32k1xx_enet.c
index 7bf9cfc..65dc59a 100644
--- a/arch/arm/src/s32k1xx/s32k1xx_enet.c
+++ b/arch/arm/src/s32k1xx/s32k1xx_enet.c
@@ -37,6 +37,7 @@
 #include <nuttx/wdog.h>
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/wqueue.h>
 #include <nuttx/signal.h>
 #include <nuttx/net/mii.h>
diff --git a/arch/arm/src/s32k1xx/s32k1xx_serial.c 
b/arch/arm/src/s32k1xx/s32k1xx_serial.c
index c131ac1..400896a 100644
--- a/arch/arm/src/s32k1xx/s32k1xx_serial.c
+++ b/arch/arm/src/s32k1xx/s32k1xx_serial.c
@@ -38,6 +38,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/init.h>
 #include <nuttx/power/pm.h>
 #include <nuttx/fs/ioctl.h>
diff --git a/arch/arm/src/stm32/stm32_hciuart.c 
b/arch/arm/src/stm32/stm32_hciuart.c
index 96457b9..0bcc8ee 100644
--- a/arch/arm/src/stm32/stm32_hciuart.c
+++ b/arch/arm/src/stm32/stm32_hciuart.c
@@ -35,6 +35,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/semaphore.h>
 #include <nuttx/wireless/bluetooth/bt_uart.h>
 #include <nuttx/power/pm.h>
diff --git a/arch/arm/src/tiva/cc13xx/cc13xx_enablepwr.c 
b/arch/arm/src/tiva/cc13xx/cc13xx_enablepwr.c
index 0d9b833..8f461b0 100644
--- a/arch/arm/src/tiva/cc13xx/cc13xx_enablepwr.c
+++ b/arch/arm/src/tiva/cc13xx/cc13xx_enablepwr.c
@@ -28,7 +28,7 @@
 #include <assert.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "hardware/tiva_prcm.h"
 #include "tiva_enablepwr.h"
diff --git a/arch/arm/src/tiva/cc13xx/cc13xx_gpio.c 
b/arch/arm/src/tiva/cc13xx/cc13xx_gpio.c
index bf122f1..bde6b9b 100644
--- a/arch/arm/src/tiva/cc13xx/cc13xx_gpio.c
+++ b/arch/arm/src/tiva/cc13xx/cc13xx_gpio.c
@@ -30,7 +30,7 @@
 #include <assert.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "arm_arch.h"
 #include "tiva_gpio.h"
diff --git a/arch/arm/src/tiva/common/tiva_hciuart.c 
b/arch/arm/src/tiva/common/tiva_hciuart.c
index 0539af7..1e1fd23 100644
--- a/arch/arm/src/tiva/common/tiva_hciuart.c
+++ b/arch/arm/src/tiva/common/tiva_hciuart.c
@@ -34,6 +34,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/semaphore.h>
 #include <nuttx/wireless/bluetooth/bt_uart.h>
 #include <nuttx/power/pm.h>
diff --git a/arch/or1k/src/common/up_modifyreg16.c 
b/arch/or1k/src/common/up_modifyreg16.c
index 2ad9f6e..9778c54 100644
--- a/arch/or1k/src/common/up_modifyreg16.c
+++ b/arch/or1k/src/common/up_modifyreg16.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "up_arch.h"
 
diff --git a/arch/or1k/src/common/up_modifyreg32.c 
b/arch/or1k/src/common/up_modifyreg32.c
index 29ad133..ca8e2d7 100644
--- a/arch/or1k/src/common/up_modifyreg32.c
+++ b/arch/or1k/src/common/up_modifyreg32.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "up_arch.h"
 
diff --git a/arch/or1k/src/common/up_modifyreg8.c 
b/arch/or1k/src/common/up_modifyreg8.c
index d8110de..8b20abd 100644
--- a/arch/or1k/src/common/up_modifyreg8.c
+++ b/arch/or1k/src/common/up_modifyreg8.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "up_arch.h"
 
diff --git a/arch/risc-v/src/bl602/bl602_timerisr.c 
b/arch/risc-v/src/bl602/bl602_timerisr.c
index f889ca5..1ccd6c6 100644
--- a/arch/risc-v/src/bl602/bl602_timerisr.c
+++ b/arch/risc-v/src/bl602/bl602_timerisr.c
@@ -30,6 +30,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/clock.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 #include "hardware/bl602_clic.h"
 #include "riscv_arch.h"
diff --git a/arch/risc-v/src/c906/c906_timerisr.c 
b/arch/risc-v/src/c906/c906_timerisr.c
index 677550b..a3c89fa 100644
--- a/arch/risc-v/src/c906/c906_timerisr.c
+++ b/arch/risc-v/src/c906/c906_timerisr.c
@@ -29,6 +29,7 @@
 #include <debug.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "riscv_arch.h"
diff --git a/arch/risc-v/src/common/riscv_modifyreg32.c 
b/arch/risc-v/src/common/riscv_modifyreg32.c
index b620463..9e56a92 100644
--- a/arch/risc-v/src/common/riscv_modifyreg32.c
+++ b/arch/risc-v/src/common/riscv_modifyreg32.c
@@ -27,8 +27,7 @@
 #include <stdint.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "riscv_arch.h"
 
diff --git a/arch/risc-v/src/esp32c3/esp32c3_idle.c 
b/arch/risc-v/src/esp32c3/esp32c3_idle.c
index 85f52b1..057aa2f 100644
--- a/arch/risc-v/src/esp32c3/esp32c3_idle.c
+++ b/arch/risc-v/src/esp32c3/esp32c3_idle.c
@@ -24,8 +24,8 @@
 
 #include <stdint.h>
 #include <nuttx/config.h>
-#include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/power/pm.h>
 
 #include "esp32c3.h"
diff --git a/arch/risc-v/src/esp32c3/esp32c3_std_atomic.c 
b/arch/risc-v/src/esp32c3/esp32c3_std_atomic.c
index 6027fc3..50d1e89 100644
--- a/arch/risc-v/src/esp32c3/esp32c3_std_atomic.c
+++ b/arch/risc-v/src/esp32c3/esp32c3_std_atomic.c
@@ -26,8 +26,7 @@
 
 #include <stdbool.h>
 #include <stdint.h>
-#include <nuttx/arch.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/risc-v/src/esp32c3/esp32c3_wifi_adapter.c 
b/arch/risc-v/src/esp32c3/esp32c3_wifi_adapter.c
index bb03d69..542fdcf 100644
--- a/arch/risc-v/src/esp32c3/esp32c3_wifi_adapter.c
+++ b/arch/risc-v/src/esp32c3/esp32c3_wifi_adapter.c
@@ -37,10 +37,9 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <irq/irq.h>
-#include "nuttx/kmalloc.h"
+#include <nuttx/kmalloc.h>
 #include <nuttx/mqueue.h>
-#include "nuttx/spinlock.h"
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/semaphore.h>
 #include <nuttx/kthread.h>
 #include <nuttx/wdog.h>
diff --git a/arch/risc-v/src/fe310/fe310_gpio.c 
b/arch/risc-v/src/fe310/fe310_gpio.c
index 32c87d2..4116596 100644
--- a/arch/risc-v/src/fe310/fe310_gpio.c
+++ b/arch/risc-v/src/fe310/fe310_gpio.c
@@ -29,6 +29,7 @@
 #include <debug.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "riscv_arch.h"
diff --git a/arch/risc-v/src/fe310/fe310_timerisr.c 
b/arch/risc-v/src/fe310/fe310_timerisr.c
index 2a7dd36..1e93c8a 100644
--- a/arch/risc-v/src/fe310/fe310_timerisr.c
+++ b/arch/risc-v/src/fe310/fe310_timerisr.c
@@ -30,6 +30,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/clock.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "riscv_arch.h"
diff --git a/arch/risc-v/src/k210/k210_timerisr.c 
b/arch/risc-v/src/k210/k210_timerisr.c
index 9e4136f..25f684c 100644
--- a/arch/risc-v/src/k210/k210_timerisr.c
+++ b/arch/risc-v/src/k210/k210_timerisr.c
@@ -29,6 +29,7 @@
 #include <debug.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "riscv_arch.h"
diff --git a/arch/risc-v/src/litex/litex_timerisr.c 
b/arch/risc-v/src/litex/litex_timerisr.c
index a1507ad..a5652c6 100644
--- a/arch/risc-v/src/litex/litex_timerisr.c
+++ b/arch/risc-v/src/litex/litex_timerisr.c
@@ -30,6 +30,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/clock.h>
+#include <nuttx/spinlock.h>
 #include <arch/board/board.h>
 
 #include "riscv_arch.h"
diff --git a/arch/risc-v/src/rv64gc/riscv_schedulesigaction.c 
b/arch/risc-v/src/rv64gc/riscv_schedulesigaction.c
index 8f9ee8c..4eee097 100644
--- a/arch/risc-v/src/rv64gc/riscv_schedulesigaction.c
+++ b/arch/risc-v/src/rv64gc/riscv_schedulesigaction.c
@@ -29,8 +29,8 @@
 #include <sched.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "sched/sched.h"
 #include "riscv_internal.h"
diff --git a/arch/x86_64/include/intel64/arch.h 
b/arch/x86_64/include/intel64/arch.h
index 2e4624e..dbf7143 100644
--- a/arch/x86_64/include/intel64/arch.h
+++ b/arch/x86_64/include/intel64/arch.h
@@ -395,10 +395,6 @@ static inline void set_pcid(uint64_t pcid)
                      "%%rbx; mov %%rbx, %%cr3;"
                      ::"g"(pcid):"memory", "rbx", "rax");
       }
-    else
-      {
-        PANIC();
-      }
 }
 
 static inline unsigned long read_msr(unsigned int msr)
diff --git a/arch/xtensa/include/arch.h b/arch/xtensa/include/arch.h
index 55db7cb..435de1f 100644
--- a/arch/xtensa/include/arch.h
+++ b/arch/xtensa/include/arch.h
@@ -30,6 +30,10 @@
  ****************************************************************************/
 
 #include <nuttx/config.h>
+#ifndef __ASSEMBLY__
+#  include <stddef.h>
+#  include <stdint.h>
+#endif
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/arch/xtensa/src/esp32/esp32_himem.c 
b/arch/xtensa/src/esp32/esp32_himem.c
index 99fc475..269a2eb 100644
--- a/arch/xtensa/src/esp32/esp32_himem.c
+++ b/arch/xtensa/src/esp32/esp32_himem.c
@@ -26,6 +26,7 @@
 #include <debug.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/himem/himem.h>
+#include <nuttx/spinlock.h>
 
 #include "esp32_spiram.h"
 #include "esp32_himem.h"
diff --git a/arch/xtensa/src/esp32/esp32_idle.c 
b/arch/xtensa/src/esp32/esp32_idle.c
index 0374f52..0dcbc3d 100644
--- a/arch/xtensa/src/esp32/esp32_idle.c
+++ b/arch/xtensa/src/esp32/esp32_idle.c
@@ -24,8 +24,8 @@
 
 #include <stdint.h>
 #include <nuttx/config.h>
-#include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/power/pm.h>
 
 #include "esp32_pm.h"
diff --git a/arch/xtensa/src/esp32/esp32_intercpu_interrupt.c 
b/arch/xtensa/src/esp32/esp32_intercpu_interrupt.c
index ce33f2a..c2b5d69 100644
--- a/arch/xtensa/src/esp32/esp32_intercpu_interrupt.c
+++ b/arch/xtensa/src/esp32/esp32_intercpu_interrupt.c
@@ -30,7 +30,6 @@
 #include <errno.h>
 
 #include <nuttx/spinlock.h>
-#include <arch/irq.h>
 
 #include "hardware/esp32_dport.h"
 #include "xtensa.h"
diff --git a/arch/xtensa/src/esp32/esp32_spiram.c 
b/arch/xtensa/src/esp32/esp32_spiram.c
index 5274f29..4276219 100644
--- a/arch/xtensa/src/esp32/esp32_spiram.c
+++ b/arch/xtensa/src/esp32/esp32_spiram.c
@@ -33,7 +33,7 @@
 #include <string.h>
 #include <sys/param.h>
 #include <nuttx/config.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "esp32_spiram.h"
 #include "esp32_spicache.h"
diff --git a/arch/xtensa/src/esp32/esp32_wifi_adapter.c 
b/arch/xtensa/src/esp32/esp32_wifi_adapter.c
index f4418af..eba234e 100644
--- a/arch/xtensa/src/esp32/esp32_wifi_adapter.c
+++ b/arch/xtensa/src/esp32/esp32_wifi_adapter.c
@@ -37,9 +37,9 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <irq/irq.h>
-#include "nuttx/kmalloc.h"
+#include <nuttx/kmalloc.h>
 #include <nuttx/mqueue.h>
-#include "nuttx/spinlock.h"
+#include <nuttx/spinlock.h>
 #include <nuttx/irq.h>
 #include <nuttx/semaphore.h>
 #include <nuttx/kthread.h>
diff --git a/boards/arm/imxrt/imxrt1020-evk/src/imxrt_ethernet.c 
b/boards/arm/imxrt/imxrt1020-evk/src/imxrt_ethernet.c
index 91b9af1..bfa09e8 100644
--- a/boards/arm/imxrt/imxrt1020-evk/src/imxrt_ethernet.c
+++ b/boards/arm/imxrt/imxrt1020-evk/src/imxrt_ethernet.c
@@ -40,6 +40,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "imxrt_gpio.h"
 
diff --git a/boards/arm/imxrt/imxrt1050-evk/src/imxrt_ethernet.c 
b/boards/arm/imxrt/imxrt1050-evk/src/imxrt_ethernet.c
index 7dd1a34..1698afc 100644
--- a/boards/arm/imxrt/imxrt1050-evk/src/imxrt_ethernet.c
+++ b/boards/arm/imxrt/imxrt1050-evk/src/imxrt_ethernet.c
@@ -40,6 +40,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "imxrt_gpio.h"
 #include "imxrt_enet.h"
diff --git a/boards/arm/imxrt/imxrt1060-evk/src/imxrt_ethernet.c 
b/boards/arm/imxrt/imxrt1060-evk/src/imxrt_ethernet.c
index 0c74f85..6540324 100644
--- a/boards/arm/imxrt/imxrt1060-evk/src/imxrt_ethernet.c
+++ b/boards/arm/imxrt/imxrt1060-evk/src/imxrt_ethernet.c
@@ -40,6 +40,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "imxrt_gpio.h"
 #include "imxrt_enet.h"
diff --git a/boards/arm/imxrt/imxrt1064-evk/src/imxrt_ethernet.c 
b/boards/arm/imxrt/imxrt1064-evk/src/imxrt_ethernet.c
index abbd5cb..f6bddd9 100644
--- a/boards/arm/imxrt/imxrt1064-evk/src/imxrt_ethernet.c
+++ b/boards/arm/imxrt/imxrt1064-evk/src/imxrt_ethernet.c
@@ -40,6 +40,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "imxrt_gpio.h"
 #include "imxrt_enet.h"
diff --git a/boards/arm/imxrt/teensy-4.x/src/imxrt_ethernet.c 
b/boards/arm/imxrt/teensy-4.x/src/imxrt_ethernet.c
index 786738c..b2d9f71 100644
--- a/boards/arm/imxrt/teensy-4.x/src/imxrt_ethernet.c
+++ b/boards/arm/imxrt/teensy-4.x/src/imxrt_ethernet.c
@@ -40,6 +40,7 @@
 
 #include <nuttx/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "imxrt_gpio.h"
 #include "imxrt_enet.h"
diff --git a/boards/arm/max326xx/max32660-evsys/src/max326_button.c 
b/boards/arm/max326xx/max32660-evsys/src/max326_button.c
index 5ab402e..e0b4066 100644
--- a/boards/arm/max326xx/max32660-evsys/src/max326_button.c
+++ b/boards/arm/max326xx/max32660-evsys/src/max326_button.c
@@ -30,6 +30,7 @@
 #include <nuttx/arch.h>
 #include <nuttx/board.h>
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include <nuttx/irq.h>
 
diff --git a/boards/arm/stm32/stm32f4discovery/src/stm32_gs2200m.c 
b/boards/arm/stm32/stm32f4discovery/src/stm32_gs2200m.c
index bdd220a..004c9fa 100644
--- a/boards/arm/stm32/stm32f4discovery/src/stm32_gs2200m.c
+++ b/boards/arm/stm32/stm32f4discovery/src/stm32_gs2200m.c
@@ -30,6 +30,7 @@
 #include <nuttx/board.h>
 #include <nuttx/spi/spi.h>
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/wireless/gs2200m.h>
 
 #include "arm_arch.h"
diff --git a/drivers/audio/cxd56.c b/drivers/audio/cxd56.c
index 296b116..bff508f 100644
--- a/drivers/audio/cxd56.c
+++ b/drivers/audio/cxd56.c
@@ -32,6 +32,7 @@
 #include <nuttx/arch.h>
 #include <nuttx/config.h>
 #include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/mqueue.h>
 
diff --git a/drivers/audio/cxd56_src.c b/drivers/audio/cxd56_src.c
index f21e177..0134841 100644
--- a/drivers/audio/cxd56_src.c
+++ b/drivers/audio/cxd56_src.c
@@ -30,7 +30,7 @@
 
 #include <nuttx/arch.h>
 #include <nuttx/config.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/mqueue.h>
 
diff --git a/drivers/audio/wm8776.c b/drivers/audio/wm8776.c
index 2216715..1b67dda 100644
--- a/drivers/audio/wm8776.c
+++ b/drivers/audio/wm8776.c
@@ -37,7 +37,7 @@
 #include <queue.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/semaphore.h>
 #include <nuttx/clock.h>
diff --git a/drivers/i2c/i2c_bitbang.c b/drivers/i2c/i2c_bitbang.c
index 5f9a029..96bcd5c 100644
--- a/drivers/i2c/i2c_bitbang.c
+++ b/drivers/i2c/i2c_bitbang.c
@@ -27,7 +27,7 @@
 #include <errno.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/semaphore.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/i2c/i2c_master.h>
diff --git a/drivers/ioexpander/gpio.c b/drivers/ioexpander/gpio.c
index 54165f9..2032159 100644
--- a/drivers/ioexpander/gpio.c
+++ b/drivers/ioexpander/gpio.c
@@ -33,6 +33,7 @@
 #include <unistd.h>
 
 #include <nuttx/fs/fs.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/ioexpander/gpio.h>
 
 #ifdef CONFIG_DEV_GPIO
diff --git a/drivers/usbmonitor/usbmonitor.c b/drivers/usbmonitor/usbmonitor.c
index cad9d17..fc10021 100644
--- a/drivers/usbmonitor/usbmonitor.c
+++ b/drivers/usbmonitor/usbmonitor.c
@@ -30,8 +30,8 @@
 #include <stdbool.h>
 #include <unistd.h>
 #include <sched.h>
-#include <syslog.h>
 #include <errno.h>
+#include <debug.h>
 
 #include <nuttx/signal.h>
 #include <nuttx/kthread.h>
diff --git a/drivers/wireless/bluetooth/bt_uart_shim.c 
b/drivers/wireless/bluetooth/bt_uart_shim.c
index 85671cd..a7c3404 100644
--- a/drivers/wireless/bluetooth/bt_uart_shim.c
+++ b/drivers/wireless/bluetooth/bt_uart_shim.c
@@ -52,9 +52,8 @@
 #include <termios.h>
 #include <unistd.h>
 
-#include <nuttx/arch.h>
 #include <nuttx/fs/ioctl.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/kthread.h>
 #include <nuttx/semaphore.h>
diff --git a/graphics/vnc/server/vnc_fbdev.c b/graphics/vnc/server/vnc_fbdev.c
index 6f83af7..bdee741 100644
--- a/graphics/vnc/server/vnc_fbdev.c
+++ b/graphics/vnc/server/vnc_fbdev.c
@@ -27,6 +27,7 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 #include <errno.h>
 
 #if defined(CONFIG_VNCSERVER_DEBUG) && !defined(CONFIG_DEBUG_GRAPHICS)
diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h
index 37c5c7f..04b052c 100644
--- a/include/nuttx/arch.h
+++ b/include/nuttx/arch.h
@@ -78,13 +78,13 @@
 
 #include <stdint.h>
 #include <stdbool.h>
-#include <sched.h>
 
 #include <arch/arch.h>
 #include <arch/types.h>
 
 #include <nuttx/compiler.h>
 #include <nuttx/cache.h>
+#include <nuttx/sched.h>
 
 /****************************************************************************
  * Pre-processor definitions
diff --git a/include/nuttx/fs/fs.h b/include/nuttx/fs/fs.h
index ec497b2..6a2a557 100644
--- a/include/nuttx/fs/fs.h
+++ b/include/nuttx/fs/fs.h
@@ -32,11 +32,8 @@
 #include <stdarg.h>
 #include <stdint.h>
 #include <stdbool.h>
-#include <semaphore.h>
 
-#ifdef CONFIG_FS_NAMED_SEMAPHORES
-#  include <nuttx/semaphore.h>
-#endif
+#include <nuttx/semaphore.h>
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/include/nuttx/irq.h b/include/nuttx/irq.h
index c5758b0..c5dfbb2 100644
--- a/include/nuttx/irq.h
+++ b/include/nuttx/irq.h
@@ -30,10 +30,7 @@
 #ifndef __ASSEMBLY__
 # include <stdint.h>
 # include <assert.h>
-# ifdef CONFIG_SMP
-#  include <stdbool.h>
-#  include <nuttx/spinlock.h>
-# endif
+# include <stdbool.h>
 #endif
 
 /* Now include architecture-specific types */
@@ -270,80 +267,6 @@ void leave_critical_section(irqstate_t flags);
 #  define leave_critical_section(f) up_irq_restore(f)
 #endif
 
-/****************************************************************************
- * Name: spin_lock_irqsave
- *
- * Description:
- *   If SMP is are enabled:
- *     If the argument lock is not specified (i.e. NULL),
- *     disable local interrupts and take the global spinlock (g_irq_spin)
- *     if the call counter (g_irq_spin_count[cpu]) equals to 0. Then the
- *     counter on the CPU is increment to allow nested call and return
- *     the interrupt state.
- *
- *     If the argument lock is specified,
- *     disable local interrupts and take the lock spinlock and return
- *     the interrupt state.
- *
- *     NOTE: This API is very simple to protect data (e.g. H/W register
- *     or internal data structure) in SMP mode. But do not use this API
- *     with kernel APIs which suspend a caller thread. (e.g. nxsem_wait)
- *
- *   If SMP is not enabled:
- *     This function is equivalent to up_irq_save().
- *
- * Input Parameters:
- *   lock - Caller specific spinlock. If specified NULL, g_irq_spin is used
- *          and can be nested. Otherwise, nested call for the same lock
- *          would cause a deadlock
- *
- * Returned Value:
- *   An opaque, architecture-specific value that represents the state of
- *   the interrupts prior to the call to spin_lock_irqsave(lock);
- *
- ****************************************************************************/
-
-#if defined(CONFIG_SMP)
-irqstate_t spin_lock_irqsave(spinlock_t *lock);
-#else
-#  define spin_lock_irqsave(l) up_irq_save()
-#endif
-
-/****************************************************************************
- * Name: spin_unlock_irqrestore
- *
- * Description:
- *   If SMP is enabled:
- *     If the argument lock is not specified (i.e. NULL),
- *     decrement the call counter (g_irq_spin_count[cpu]) and if it
- *     decrements to zero then release the spinlock (g_irq_spin) and
- *     restore the interrupt state as it was prior to the previous call to
- *     spin_lock_irqsave(NULL).
- *
- *     If the argument lock is specified, release the the lock and
- *     restore the interrupt state as it was prior to the previous call to
- *     spin_lock_irqsave(lock).
- *
- *   If SMP is not enabled:
- *     This function is equivalent to up_irq_restore().
- *
- * Input Parameters:
- *   lock - Caller specific spinlock. If specified NULL, g_irq_spin is used.
- *
- *   flags - The architecture-specific value that represents the state of
- *           the interrupts prior to the call to spin_lock_irqsave(lock);
- *
- * Returned Value:
- *   None
- *
- ****************************************************************************/
-
-#if defined(CONFIG_SMP)
-void spin_unlock_irqrestore(spinlock_t *lock, irqstate_t flags);
-#else
-#  define spin_unlock_irqrestore(l, f) up_irq_restore(f)
-#endif
-
 #undef EXTERN
 #ifdef __cplusplus
 }
diff --git a/include/nuttx/sched.h b/include/nuttx/sched.h
index 5e841c1..8f32440 100644
--- a/include/nuttx/sched.h
+++ b/include/nuttx/sched.h
@@ -30,6 +30,7 @@
 #include <sys/types.h>
 #include <stdint.h>
 #include <queue.h>
+#include <sched.h>
 #include <signal.h>
 #include <semaphore.h>
 #include <pthread.h>
diff --git a/include/nuttx/semaphore.h b/include/nuttx/semaphore.h
index 53c2783..42bd308 100644
--- a/include/nuttx/semaphore.h
+++ b/include/nuttx/semaphore.h
@@ -36,12 +36,6 @@
  * Pre-processor Definitions
  ****************************************************************************/
 
-/* Values for protocol attribute */
-
-#define SEM_PRIO_NONE             0
-#define SEM_PRIO_INHERIT          1
-#define SEM_PRIO_PROTECT          2
-
 /* Most internal nxsem_* interfaces are not available in the user space in
  * PROTECTED and KERNEL builds.  In that context, the application semaphore
  * interfaces must be used.  The differences between the two sets of
@@ -462,27 +456,6 @@ int nxsem_reset(FAR sem_t *sem, int16_t count);
 #define nxsem_get_protocol(s,p) sem_getprotocol(s,p)
 
 /****************************************************************************
- * Name: sem_getprotocol
- *
- * Description:
- *    Return the value of the semaphore protocol attribute.
- *
- * Input Parameters:
- *    sem      - A pointer to the semaphore whose attributes are to be
- *               queried.
- *    protocol - The user provided location in which to store the protocol
- *               value.
- *
- * Returned Value:
- *   This function is exposed as a non-standard application interface.  It
- *   returns zero (OK) if successful.  Otherwise, -1 (ERROR) is returned and
- *   the errno value is set appropriately.
- *
- ****************************************************************************/
-
-int sem_getprotocol(FAR sem_t *sem, FAR int *protocol);
-
-/****************************************************************************
  * Name: nxsem_set_protocol
  *
  * Description:
@@ -522,45 +495,6 @@ int sem_getprotocol(FAR sem_t *sem, FAR int *protocol);
 int nxsem_set_protocol(FAR sem_t *sem, int protocol);
 
 /****************************************************************************
- * Name: sem_setprotocol
- *
- * Description:
- *    Set semaphore protocol attribute.
- *
- *    One particularly important use of this function is when a semaphore
- *    is used for inter-task communication like:
- *
- *      TASK A                 TASK B
- *      sem_init(sem, 0, 0);
- *      sem_wait(sem);
- *                             sem_post(sem);
- *      Awakens as holder
- *
- *    In this case priority inheritance can interfere with the operation of
- *    the semaphore.  The problem is that when TASK A is restarted it is a
- *    holder of the semaphore.  However, it never calls sem_post(sem) so it
- *    becomes *permanently* a holder of the semaphore and may have its
- *    priority boosted when any other task tries to acquire the semaphore.
- *
- *    The fix is to call sem_setprotocol(SEM_PRIO_NONE) immediately after
- *    the sem_init() call so that there will be no priority inheritance
- *    operations on this semaphore.
- *
- * Input Parameters:
- *    sem      - A pointer to the semaphore whose attributes are to be
- *               modified
- *    protocol - The new protocol to use
- *
- * Returned Value:
- *   This function is exposed as a non-standard application interface.  It
- *   returns zero (OK) if successful.  Otherwise, -1 (ERROR) is returned and
- *   the errno value is set appropriately.
- *
- ****************************************************************************/
-
-int sem_setprotocol(FAR sem_t *sem, int protocol);
-
-/****************************************************************************
  * Name: nxsem_wait_uninterruptible
  *
  * Description:
diff --git a/include/nuttx/spinlock.h b/include/nuttx/spinlock.h
index d0a4f13..e930c05 100644
--- a/include/nuttx/spinlock.h
+++ b/include/nuttx/spinlock.h
@@ -30,6 +30,8 @@
 #include <sys/types.h>
 #include <stdint.h>
 
+#include <nuttx/irq.h>
+
 #ifndef CONFIG_SPINLOCK
 typedef struct
 {
@@ -350,4 +352,79 @@ void spin_clrbit(FAR volatile cpu_set_t *set, unsigned int 
cpu,
 #endif
 
 #endif /* CONFIG_SPINLOCK */
+
+/****************************************************************************
+ * Name: spin_lock_irqsave
+ *
+ * Description:
+ *   If SMP is are enabled:
+ *     If the argument lock is not specified (i.e. NULL),
+ *     disable local interrupts and take the global spinlock (g_irq_spin)
+ *     if the call counter (g_irq_spin_count[cpu]) equals to 0. Then the
+ *     counter on the CPU is increment to allow nested call and return
+ *     the interrupt state.
+ *
+ *     If the argument lock is specified,
+ *     disable local interrupts and take the lock spinlock and return
+ *     the interrupt state.
+ *
+ *     NOTE: This API is very simple to protect data (e.g. H/W register
+ *     or internal data structure) in SMP mode. But do not use this API
+ *     with kernel APIs which suspend a caller thread. (e.g. nxsem_wait)
+ *
+ *   If SMP is not enabled:
+ *     This function is equivalent to up_irq_save().
+ *
+ * Input Parameters:
+ *   lock - Caller specific spinlock. If specified NULL, g_irq_spin is used
+ *          and can be nested. Otherwise, nested call for the same lock
+ *          would cause a deadlock
+ *
+ * Returned Value:
+ *   An opaque, architecture-specific value that represents the state of
+ *   the interrupts prior to the call to spin_lock_irqsave(lock);
+ *
+ ****************************************************************************/
+
+#if defined(CONFIG_SMP)
+irqstate_t spin_lock_irqsave(spinlock_t *lock);
+#else
+#  define spin_lock_irqsave(l) up_irq_save()
+#endif
+
+/****************************************************************************
+ * Name: spin_unlock_irqrestore
+ *
+ * Description:
+ *   If SMP is enabled:
+ *     If the argument lock is not specified (i.e. NULL),
+ *     decrement the call counter (g_irq_spin_count[cpu]) and if it
+ *     decrements to zero then release the spinlock (g_irq_spin) and
+ *     restore the interrupt state as it was prior to the previous call to
+ *     spin_lock_irqsave(NULL).
+ *
+ *     If the argument lock is specified, release the the lock and
+ *     restore the interrupt state as it was prior to the previous call to
+ *     spin_lock_irqsave(lock).
+ *
+ *   If SMP is not enabled:
+ *     This function is equivalent to up_irq_restore().
+ *
+ * Input Parameters:
+ *   lock - Caller specific spinlock. If specified NULL, g_irq_spin is used.
+ *
+ *   flags - The architecture-specific value that represents the state of
+ *           the interrupts prior to the call to spin_lock_irqsave(lock);
+ *
+ * Returned Value:
+ *   None
+ *
+ ****************************************************************************/
+
+#if defined(CONFIG_SMP)
+void spin_unlock_irqrestore(spinlock_t *lock, irqstate_t flags);
+#else
+#  define spin_unlock_irqrestore(l, f) up_irq_restore(f)
+#endif
+
 #endif /* __INCLUDE_NUTTX_SPINLOCK_H */
diff --git a/include/pthread.h b/include/pthread.h
index e7618ba..4fd3bfd 100644
--- a/include/pthread.h
+++ b/include/pthread.h
@@ -36,8 +36,7 @@
 #include <unistd.h>          /* For getpid */
 #include <signal.h>          /* Needed for sigset_t, includes this file */
 #include <time.h>            /* Needed for struct timespec */
-
-#include <nuttx/semaphore.h> /* For sem_t and SEM_PRIO_* defines */
+#include <semaphore.h>       /* For sem_t and SEM_PRIO_* defines */
 
 #ifdef CONFIG_PTHREAD_SPINLOCKS
 /* The architecture specific spinlock.h header file must provide the
diff --git a/include/sched.h b/include/sched.h
index e1a06b1..306d88a 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -31,10 +31,9 @@
 #include <stdint.h>
 #include <stdbool.h>
 #include <strings.h>
+#include <time.h>
 #include "queue.h"
 
-#include <nuttx/sched.h>
-
 
/********************************************************************************
  * Pre-processor Definitions
  
********************************************************************************/
diff --git a/include/semaphore.h b/include/semaphore.h
index 785a135..8c427be 100644
--- a/include/semaphore.h
+++ b/include/semaphore.h
@@ -35,6 +35,12 @@
  * Pre-processor Definitions
  ****************************************************************************/
 
+/* Values for protocol attribute */
+
+#define SEM_PRIO_NONE             0
+#define SEM_PRIO_INHERIT          1
+#define SEM_PRIO_PROTECT          2
+
 /* Value returned by sem_open() in the event of a failure. */
 
 #define SEM_FAILED ((FAR sem_t *)NULL)
@@ -140,6 +146,66 @@ int        sem_close(FAR sem_t *sem);
 int        sem_unlink(FAR const char *name);
 #endif
 
+/****************************************************************************
+ * Name: sem_setprotocol
+ *
+ * Description:
+ *    Set semaphore protocol attribute.
+ *
+ *    One particularly important use of this function is when a semaphore
+ *    is used for inter-task communication like:
+ *
+ *      TASK A                 TASK B
+ *      sem_init(sem, 0, 0);
+ *      sem_wait(sem);
+ *                             sem_post(sem);
+ *      Awakens as holder
+ *
+ *    In this case priority inheritance can interfere with the operation of
+ *    the semaphore.  The problem is that when TASK A is restarted it is a
+ *    holder of the semaphore.  However, it never calls sem_post(sem) so it
+ *    becomes *permanently* a holder of the semaphore and may have its
+ *    priority boosted when any other task tries to acquire the semaphore.
+ *
+ *    The fix is to call sem_setprotocol(SEM_PRIO_NONE) immediately after
+ *    the sem_init() call so that there will be no priority inheritance
+ *    operations on this semaphore.
+ *
+ * Input Parameters:
+ *    sem      - A pointer to the semaphore whose attributes are to be
+ *               modified
+ *    protocol - The new protocol to use
+ *
+ * Returned Value:
+ *   This function is exposed as a non-standard application interface.  It
+ *   returns zero (OK) if successful.  Otherwise, -1 (ERROR) is returned and
+ *   the errno value is set appropriately.
+ *
+ ****************************************************************************/
+
+int sem_setprotocol(FAR sem_t *sem, int protocol);
+
+/****************************************************************************
+ * Name: sem_getprotocol
+ *
+ * Description:
+ *    Return the value of the semaphore protocol attribute.
+ *
+ * Input Parameters:
+ *    sem      - A pointer to the semaphore whose attributes are to be
+ *               queried.
+ *    protocol - The user provided location in which to store the protocol
+ *               value.
+ *
+ * Returned Value:
+ *   This function is exposed as a non-standard application interface.  It
+ *   returns zero (OK) if successful.  Otherwise, -1 (ERROR) is returned and
+ *   the errno value is set appropriately.
+ *
+ ****************************************************************************/
+
+int sem_getprotocol(FAR sem_t *sem, FAR int *protocol);
+
 #undef EXTERN
 #ifdef __cplusplus
 }
diff --git a/include/stdio.h b/include/stdio.h
index 59f658f..9db7458 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -29,10 +29,10 @@
 
 #include <sys/types.h>
 #include <stdarg.h>
-#include <sched.h>
 #include <time.h>
 
 #include <nuttx/fs/fs.h>
+#include <nuttx/sched.h>
 
 /****************************************************************************
  * Pre-processor Definitions
diff --git a/libs/libc/pthread/pthread_create.c 
b/libs/libc/pthread/pthread_create.c
index fe85127..c46e36f 100644
--- a/libs/libc/pthread/pthread_create.c
+++ b/libs/libc/pthread/pthread_create.c
@@ -24,7 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include <debug.h>
+#include <assert.h>
 
 #include <nuttx/pthread.h>
 
diff --git a/libs/libc/pthread/pthread_spinlock.c 
b/libs/libc/pthread/pthread_spinlock.c
index 83d97c7..249c681 100644
--- a/libs/libc/pthread/pthread_spinlock.c
+++ b/libs/libc/pthread/pthread_spinlock.c
@@ -27,19 +27,12 @@
 #include <sys/types.h>
 #include <sys/boardctl.h>
 
+#include <assert.h>
+#include <errno.h>
+#include <debug.h>
 #include <pthread.h>
 #include <sched.h>
 
-/* The architecture specific spinlock.h header file must provide the
- * following:
- *
- *   SP_LOCKED    - A definition of the locked state value (usually 1)
- *   SP_UNLOCKED  - A definition of the unlocked state value (usually 0)
- *   spinlock_t   - The type of a spinlock memory object (usually uint8_t).
- */
-
-#include <arch/spinlock.h>
-
 #ifdef CONFIG_PTHREAD_SPINLOCKS
 
 /****************************************************************************
diff --git a/libs/libc/sched/task_startup.c b/libs/libc/sched/task_startup.c
index bbfee72..3b111c5 100644
--- a/libs/libc/sched/task_startup.c
+++ b/libs/libc/sched/task_startup.c
@@ -27,6 +27,7 @@
 #include <sched.h>
 #include <stdlib.h>
 #include <assert.h>
+#include <debug.h>
 
 #ifndef CONFIG_BUILD_KERNEL
 
diff --git a/libs/libc/tls/task_getinfo.c b/libs/libc/tls/task_getinfo.c
index 8ae77a1..2694127 100644
--- a/libs/libc/tls/task_getinfo.c
+++ b/libs/libc/tls/task_getinfo.c
@@ -24,8 +24,7 @@
 
 #include <nuttx/config.h>
 
-#include <sched.h>
-
+#include <nuttx/sched.h>
 #include <nuttx/tls.h>
 
 /****************************************************************************
diff --git a/libs/libc/unistd/lib_getpriority.c 
b/libs/libc/unistd/lib_getpriority.c
index 0029743..95996d2 100644
--- a/libs/libc/unistd/lib_getpriority.c
+++ b/libs/libc/unistd/lib_getpriority.c
@@ -24,8 +24,9 @@
 
 #include <nuttx/config.h>
 #include <sys/resource.h>
-#include <sched.h>
 
+#include <sched.h>
+#include <unistd.h>
 #include <errno.h>
 
 /****************************************************************************
diff --git a/libs/libc/unistd/lib_setpriority.c 
b/libs/libc/unistd/lib_setpriority.c
index 14195eb..057f05f 100644
--- a/libs/libc/unistd/lib_setpriority.c
+++ b/libs/libc/unistd/lib_setpriority.c
@@ -26,6 +26,7 @@
 #include <sched.h>
 
 #include <errno.h>
+#include <unistd.h>
 
 /****************************************************************************
  * Public Functions
diff --git a/libs/libc/wqueue/work_lock.c b/libs/libc/wqueue/work_lock.c
index 04ebaad..26e6e6e 100644
--- a/libs/libc/wqueue/work_lock.c
+++ b/libs/libc/wqueue/work_lock.c
@@ -28,6 +28,8 @@
 #include <assert.h>
 #include <errno.h>
 
+#include <nuttx/semaphore.h>
+
 #include "wqueue/wqueue.h"
 
 #if defined(CONFIG_LIB_USRWORK) && !defined(__KERNEL__)
diff --git a/net/socket/net_dup2.c b/net/socket/net_dup2.c
index ff765b4..c36981f 100644
--- a/net/socket/net_dup2.c
+++ b/net/socket/net_dup2.c
@@ -27,6 +27,7 @@
 #include <sys/socket.h>
 #include <string.h>
 #include <sched.h>
+#include <assert.h>
 #include <errno.h>
 #include <debug.h>
 
diff --git a/net/tcp/tcp_txdrain.c b/net/tcp/tcp_txdrain.c
index 08206cf..0562a1e 100644
--- a/net/tcp/tcp_txdrain.c
+++ b/net/tcp/tcp_txdrain.c
@@ -29,8 +29,10 @@
 #include <assert.h>
 #include <errno.h>
 
+#include <nuttx/net/net.h>
 #include <nuttx/semaphore.h>
 
+#include "utils/utils.h"
 #include "tcp/tcp.h"
 
 #if defined(CONFIG_NET_TCP_WRITE_BUFFERS) && defined(CONFIG_NET_TCP_NOTIFIER)
diff --git a/net/udp/udp_txdrain.c b/net/udp/udp_txdrain.c
index 130dfee..2f86393 100644
--- a/net/udp/udp_txdrain.c
+++ b/net/udp/udp_txdrain.c
@@ -29,8 +29,10 @@
 #include <assert.h>
 #include <errno.h>
 
+#include <nuttx/net/net.h>
 #include <nuttx/semaphore.h>
 
+#include "utils/utils.h"
 #include "udp/udp.h"
 
 #if defined(CONFIG_NET_UDP_WRITE_BUFFERS) && defined(CONFIG_NET_UDP_NOTIFIER)
diff --git a/sched/clock/clock_gettime.c b/sched/clock/clock_gettime.c
index 93eafa4..172c2db 100644
--- a/sched/clock/clock_gettime.c
+++ b/sched/clock/clock_gettime.c
@@ -30,8 +30,8 @@
 #include <errno.h>
 #include <debug.h>
 
-#include <arch/irq.h>
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 
 #include "clock/clock.h"
 #ifdef CONFIG_CLOCK_TIMEKEEPING
diff --git a/sched/group/group_exitinfo.c b/sched/group/group_exitinfo.c
index 5595170..4cd54d0 100644
--- a/sched/group/group_exitinfo.c
+++ b/sched/group/group_exitinfo.c
@@ -28,7 +28,7 @@
 #include <errno.h>
 
 #include <nuttx/sched.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/binfmt/binfmt.h>
 
 #include "sched/sched.h"
diff --git a/sched/group/group_tlsalloc.c b/sched/group/group_tlsalloc.c
index ef4a7d5..5b09073 100644
--- a/sched/group/group_tlsalloc.c
+++ b/sched/group/group_tlsalloc.c
@@ -29,7 +29,7 @@
 #include <assert.h>
 #include <debug.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/tls.h>
 
 #include "sched/sched.h"
diff --git a/sched/group/group_tlsfree.c b/sched/group/group_tlsfree.c
index f07f68f..c1eccaf 100644
--- a/sched/group/group_tlsfree.c
+++ b/sched/group/group_tlsfree.c
@@ -28,7 +28,7 @@
 #include <errno.h>
 #include <assert.h>
 
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/tls.h>
 
 #include "sched/sched.h"
diff --git a/sched/group/group_tlsgetdtor.c b/sched/group/group_tlsgetdtor.c
index 2aa4145..c6e25f3 100644
--- a/sched/group/group_tlsgetdtor.c
+++ b/sched/group/group_tlsgetdtor.c
@@ -28,6 +28,7 @@
 #include <assert.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/tls.h>
 #include <arch/tls.h>
 
diff --git a/sched/group/group_tlsgetset.c b/sched/group/group_tlsgetset.c
index 55c5dac..a3405c4 100644
--- a/sched/group/group_tlsgetset.c
+++ b/sched/group/group_tlsgetset.c
@@ -28,6 +28,7 @@
 #include <assert.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/tls.h>
 #include <arch/tls.h>
 
diff --git a/sched/group/group_tlssetdtor.c b/sched/group/group_tlssetdtor.c
index 5e4447c..040ff65 100644
--- a/sched/group/group_tlssetdtor.c
+++ b/sched/group/group_tlssetdtor.c
@@ -28,6 +28,7 @@
 #include <assert.h>
 
 #include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/tls.h>
 #include <arch/tls.h>
 
diff --git a/sched/pthread/pthread.h b/sched/pthread/pthread.h
index db04ba2..8a3317a 100644
--- a/sched/pthread/pthread.h
+++ b/sched/pthread/pthread.h
@@ -31,9 +31,10 @@
 #include <stdint.h>
 #include <stdbool.h>
 #include <pthread.h>
-#include <sched.h>
 
 #include <nuttx/compiler.h>
+#include <nuttx/semaphore.h>
+#include <nuttx/sched.h>
 
 /****************************************************************************
  * Public Type Declarations
diff --git a/sched/semaphore/semaphore.h b/sched/semaphore/semaphore.h
index e19e495..28995e1 100644
--- a/sched/semaphore/semaphore.h
+++ b/sched/semaphore/semaphore.h
@@ -28,10 +28,10 @@
 #include <nuttx/config.h>
 #include <nuttx/compiler.h>
 #include <nuttx/semaphore.h>
+#include <nuttx/sched.h>
 
 #include <stdint.h>
 #include <stdbool.h>
-#include <sched.h>
 #include <queue.h>
 
 /****************************************************************************
diff --git a/sched/signal/sig_default.c b/sched/signal/sig_default.c
index 0078f47..5f4ad91 100644
--- a/sched/signal/sig_default.c
+++ b/sched/signal/sig_default.c
@@ -33,7 +33,7 @@
 #include <assert.h>
 
 #include <nuttx/sched.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/signal.h>
 
 #include "group/group.h"
diff --git a/wireless/bluetooth/bt_atomic.c b/wireless/bluetooth/bt_atomic.c
index c674ee3..184d814 100644
--- a/wireless/bluetooth/bt_atomic.c
+++ b/wireless/bluetooth/bt_atomic.c
@@ -24,7 +24,7 @@
  ****************************************************************************/
 
 #include <nuttx/config.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 
 #include "bt_atomic.h"
 
diff --git a/wireless/bluetooth/bt_buf.c b/wireless/bluetooth/bt_buf.c
index e4f0992..296fe0d 100644
--- a/wireless/bluetooth/bt_buf.c
+++ b/wireless/bluetooth/bt_buf.c
@@ -51,7 +51,7 @@
 #include <errno.h>
 #include <debug.h>
 
-#include <nuttx/arch.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/mm/iob.h>
 #include <nuttx/net/bluetooth.h>
diff --git a/wireless/bluetooth/bt_hcicore.c b/wireless/bluetooth/bt_hcicore.c
index 0ebd911..1d14839 100644
--- a/wireless/bluetooth/bt_hcicore.c
+++ b/wireless/bluetooth/bt_hcicore.c
@@ -58,6 +58,7 @@
 
 #include <nuttx/clock.h>
 #include <nuttx/kthread.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/wqueue.h>
 #include <nuttx/net/bluetooth.h>
 #include <nuttx/wireless/bluetooth/bt_core.h>
diff --git a/wireless/bluetooth/bt_netdev.c b/wireless/bluetooth/bt_netdev.c
index a43b3ab..82f455a 100644
--- a/wireless/bluetooth/bt_netdev.c
+++ b/wireless/bluetooth/bt_netdev.c
@@ -35,8 +35,7 @@
 
 #include <arpa/inet.h>
 
-#include <nuttx/arch.h>
-#include <nuttx/irq.h>
+#include <nuttx/spinlock.h>
 #include <nuttx/kmalloc.h>
 #include <nuttx/signal.h>
 #include <nuttx/wdog.h>

Reply via email to