summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-12-08 07:14:31 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-12-08 07:14:31 -0600
commitb71545a5ec91eb59cff09ce324ca7caa485f1b9b (patch)
tree084c4ab4a0ed9da99703d3984f68b488b14218ea
parente49d63de0f44959288b8366ca97813d712135d8b (diff)
downloadpx4-nuttx-b71545a5ec91eb59cff09ce324ca7caa485f1b9b.tar.gz
px4-nuttx-b71545a5ec91eb59cff09ce324ca7caa485f1b9b.tar.bz2
px4-nuttx-b71545a5ec91eb59cff09ce324ca7caa485f1b9b.zip
Fix compilation errors if CONFIG_DISABLE_MOUNTPOINT is selected
-rw-r--r--nuttx/configs/sim/nx/defconfig198
-rw-r--r--nuttx/drivers/Makefile4
-rw-r--r--nuttx/fs/driver/Make.defs6
-rw-r--r--nuttx/fs/driver/fs_registerblockdriver.c4
-rw-r--r--nuttx/fs/vfs/Make.defs12
-rw-r--r--nuttx/fs/vfs/fs_fsync.c4
6 files changed, 169 insertions, 59 deletions
diff --git a/nuttx/configs/sim/nx/defconfig b/nuttx/configs/sim/nx/defconfig
index c3cd63f86..94cf0726c 100644
--- a/nuttx/configs/sim/nx/defconfig
+++ b/nuttx/configs/sim/nx/defconfig
@@ -17,6 +17,7 @@ CONFIG_HOST_LINUX=y
# Build Configuration
#
# CONFIG_APPS_DIR="../apps"
+CONFIG_BUILD_FLAT=y
# CONFIG_BUILD_2PASS is not set
#
@@ -26,6 +27,7 @@ CONFIG_HOST_LINUX=y
# CONFIG_INTELHEX_BINARY is not set
# CONFIG_MOTOROLA_SREC is not set
# CONFIG_RAW_BINARY is not set
+# CONFIG_UBOOT_UIMAGE is not set
#
# Customize Header Files
@@ -47,12 +49,17 @@ CONFIG_DEBUG_VERBOSE=y
#
# Subsystem Debug Options
#
-# CONFIG_DEBUG_MM is not set
-# CONFIG_DEBUG_SCHED is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_DEBUG_LIB is not set
+# CONFIG_DEBUG_AUDIO is not set
# CONFIG_DEBUG_BINFMT is not set
+# CONFIG_DEBUG_FS is not set
CONFIG_DEBUG_GRAPHICS=y
+# CONFIG_DEBUG_LIB is not set
+# CONFIG_DEBUG_MM is not set
+# CONFIG_DEBUG_SCHED is not set
+
+#
+# OS Function Debug Options
+#
# CONFIG_DEBUG_IRQ is not set
#
@@ -60,7 +67,6 @@ CONFIG_DEBUG_GRAPHICS=y
#
# CONFIG_DEBUG_ANALOG is not set
# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_AUDIO is not set
# CONFIG_DEBUG_SYMBOLS is not set
# CONFIG_ARCH_HAVE_CUSTOMOPT is not set
# CONFIG_DEBUG_NOOPT is not set
@@ -84,6 +90,8 @@ CONFIG_ARCH="sim"
#
# Simulation Configuration Options
#
+CONFIG_HOST_X86_64=y
+# CONFIG_HOST_X86 is not set
# CONFIG_SIM_M32 is not set
# CONFIG_SIM_WALLTIME is not set
CONFIG_SIM_FRAMEBUFFER=y
@@ -91,6 +99,7 @@ CONFIG_SIM_FRAMEBUFFER=y
CONFIG_SIM_FBHEIGHT=240
CONFIG_SIM_FBWIDTH=480
CONFIG_SIM_FBBPP=8
+# CONFIG_SIM_SPIFLASH is not set
#
# Architecture Options
@@ -99,10 +108,15 @@ CONFIG_SIM_FBBPP=8
# CONFIG_ARCH_VECNOTIRQ is not set
# CONFIG_ARCH_DMA is not set
# CONFIG_ARCH_HAVE_IRQPRIO is not set
-# CONFIG_ARCH_ADDRENV is not set
+# CONFIG_ARCH_L2CACHE is not set
+# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set
+# CONFIG_ARCH_HAVE_ADDRENV is not set
+# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set
# CONFIG_ARCH_HAVE_VFORK is not set
# CONFIG_ARCH_HAVE_MMU is not set
+# CONFIG_ARCH_HAVE_MPU is not set
# CONFIG_ARCH_NAND_HWECC is not set
+# CONFIG_ARCH_HAVE_EXTCLK is not set
# CONFIG_ARCH_STACKDUMP is not set
# CONFIG_ENDIAN_BIG is not set
# CONFIG_ARCH_IDLE_CUSTOM is not set
@@ -155,35 +169,74 @@ CONFIG_ARCH_BOARD="sim"
#
# RTOS Features
#
-# CONFIG_BOARD_INITIALIZE is not set
+CONFIG_DISABLE_OS_API=y
+CONFIG_DISABLE_POSIX_TIMERS=y
+# CONFIG_DISABLE_PTHREAD is not set
+# CONFIG_DISABLE_SIGNALS is not set
+# CONFIG_DISABLE_MQUEUE is not set
+CONFIG_DISABLE_ENVIRON=y
+
+#
+# Clocks and Timers
+#
+CONFIG_ARCH_HAVE_TICKLESS=y
+# CONFIG_SCHED_TICKLESS is not set
CONFIG_USEC_PER_TICK=10000
# CONFIG_SYSTEM_TIME64 is not set
-CONFIG_RR_INTERVAL=0
-# CONFIG_SCHED_CPULOAD is not set
-# CONFIG_SCHED_INSTRUMENTATION is not set
-CONFIG_TASK_NAME_SIZE=32
-# CONFIG_SCHED_HAVE_PARENT is not set
+# CONFIG_CLOCK_MONOTONIC is not set
# CONFIG_JULIAN_TIME is not set
CONFIG_START_YEAR=2008
CONFIG_START_MONTH=11
CONFIG_START_DAY=28
-CONFIG_DEV_CONSOLE=y
+CONFIG_MAX_WDOGPARMS=4
+CONFIG_PREALLOC_WDOGS=32
+CONFIG_WDOG_INTRESERVE=4
+CONFIG_PREALLOC_TIMERS=8
+
+#
+# Tasks and Scheduling
+#
+# CONFIG_INIT_NONE is not set
+CONFIG_INIT_ENTRYPOINT=y
+# CONFIG_INIT_FILEPATH is not set
+CONFIG_USER_ENTRYPOINT="nx_main"
+CONFIG_RR_INTERVAL=0
+CONFIG_TASK_NAME_SIZE=32
+CONFIG_MAX_TASKS=16
+# CONFIG_SCHED_HAVE_PARENT is not set
+# CONFIG_SCHED_WAITPID is not set
+
+#
+# Pthread Options
+#
# CONFIG_MUTEX_TYPES is not set
-# CONFIG_PRIORITY_INHERITANCE is not set
+CONFIG_NPTHREAD_KEYS=4
+
+#
+# Performance Monitoring
+#
+# CONFIG_SCHED_CPULOAD is not set
+# CONFIG_SCHED_INSTRUMENTATION is not set
+
+#
+# Files and I/O
+#
+CONFIG_DEV_CONSOLE=y
# CONFIG_FDCLONE_DISABLE is not set
# CONFIG_FDCLONE_STDIO is not set
CONFIG_SDCLONE_DISABLE=y
-# CONFIG_SCHED_WAITPID is not set
+CONFIG_NFILE_DESCRIPTORS=16
+CONFIG_NFILE_STREAMS=16
+CONFIG_NAME_MAX=32
+# CONFIG_PRIORITY_INHERITANCE is not set
+
+#
+# RTOS hooks
+#
+# CONFIG_BOARD_INITIALIZE is not set
# CONFIG_SCHED_STARTHOOK is not set
# CONFIG_SCHED_ATEXIT is not set
# CONFIG_SCHED_ONEXIT is not set
-CONFIG_USER_ENTRYPOINT="nx_main"
-CONFIG_DISABLE_OS_API=y
-CONFIG_DISABLE_POSIX_TIMERS=y
-# CONFIG_DISABLE_PTHREAD is not set
-# CONFIG_DISABLE_SIGNALS is not set
-# CONFIG_DISABLE_MQUEUE is not set
-CONFIG_DISABLE_ENVIRON=y
#
# Signal Numbers
@@ -194,19 +247,17 @@ CONFIG_SIG_SIGALARM=3
CONFIG_SIG_SIGCONDTIMEDOUT=16
#
-# Sizes of configurable things (0 disables)
+# POSIX Message Queue Options
#
-CONFIG_MAX_TASKS=16
-CONFIG_NPTHREAD_KEYS=4
-CONFIG_NFILE_DESCRIPTORS=16
-CONFIG_NFILE_STREAMS=16
-CONFIG_NAME_MAX=32
CONFIG_PREALLOC_MQ_MSGS=32
CONFIG_MQ_MAXMSGSIZE=32
-CONFIG_MAX_WDOGPARMS=4
-CONFIG_PREALLOC_WDOGS=32
-CONFIG_WDOG_INTRESERVE=4
-CONFIG_PREALLOC_TIMERS=8
+
+#
+# Work Queue Support
+#
+# CONFIG_SCHED_WORKQUEUE is not set
+# CONFIG_SCHED_HPWORK is not set
+# CONFIG_SCHED_LPWORK is not set
#
# Stack and heap information
@@ -215,6 +266,7 @@ CONFIG_IDLETHREAD_STACKSIZE=4096
CONFIG_USERMAIN_STACKSIZE=4096
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=8192
+# CONFIG_LIB_SYSCALL is not set
#
# Device Drivers
@@ -223,6 +275,12 @@ CONFIG_DISABLE_POLL=y
CONFIG_DEV_NULL=y
# CONFIG_DEV_ZERO is not set
# CONFIG_LOOP is not set
+
+#
+# Buffering
+#
+# CONFIG_DRVR_WRITEBUFFER is not set
+# CONFIG_DRVR_READAHEAD is not set
# CONFIG_RAMDISK is not set
# CONFIG_CAN is not set
# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set
@@ -233,6 +291,7 @@ CONFIG_DEV_NULL=y
# CONFIG_I2S is not set
# CONFIG_RTC is not set
# CONFIG_WATCHDOG is not set
+# CONFIG_TIMER is not set
# CONFIG_ANALOG is not set
# CONFIG_AUDIO_DEVICES is not set
# CONFIG_VIDEO_DEVICES is not set
@@ -241,6 +300,7 @@ CONFIG_DEV_NULL=y
# CONFIG_LCD is not set
# CONFIG_MMCSD is not set
# CONFIG_MTD is not set
+# CONFIG_EEPROM is not set
# CONFIG_PIPES is not set
# CONFIG_PM is not set
# CONFIG_POWER is not set
@@ -270,12 +330,14 @@ CONFIG_SERIAL=y
# CONFIG_ARCH_HAVE_USART6 is not set
# CONFIG_ARCH_HAVE_USART7 is not set
# CONFIG_ARCH_HAVE_USART8 is not set
+# CONFIG_ARCH_HAVE_OTHER_UART is not set
#
# USART Configuration
#
# CONFIG_MCU_SERIAL is not set
# CONFIG_STANDARD_SERIAL is not set
+# CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set
# CONFIG_SERIAL_IFLOWCONTROL is not set
# CONFIG_SERIAL_OFLOWCONTROL is not set
# CONFIG_USBDEV is not set
@@ -299,6 +361,11 @@ CONFIG_SERIAL=y
# CONFIG_NET is not set
#
+# Crypto API
+#
+# CONFIG_CRYPTO is not set
+
+#
# File Systems
#
@@ -309,20 +376,23 @@ CONFIG_DISABLE_MOUNTPOINT=y
# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
# CONFIG_FS_READABLE is not set
# CONFIG_FS_WRITABLE is not set
+# CONFIG_FS_NAMED_SEMAPHORES is not set
+CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
# CONFIG_FS_RAMMAP is not set
# CONFIG_FS_PROCFS is not set
#
# System Logging
#
-
# CONFIG_SYSLOG is not set
+# CONFIG_SYSLOG_TIMESTAMP is not set
#
# Graphics Support
#
CONFIG_NX=y
CONFIG_NX_NPLANES=1
+CONFIG_NX_BGCOLOR=0x0
# CONFIG_NX_WRITEONLY is not set
#
@@ -375,6 +445,8 @@ CONFIG_NXFONT_SANS23X27=y
# CONFIG_NXFONT_SERIF22X28B is not set
# CONFIG_NXFONT_SERIF27X38B is not set
# CONFIG_NXFONT_SERIF38X49B is not set
+# CONFIG_NXFONT_PIXEL_UNICODE is not set
+# CONFIG_NXFONT_PIXEL_LCD_MACHINE is not set
# CONFIG_NXTERM is not set
#
@@ -396,7 +468,7 @@ CONFIG_MM_REGIONS=1
# CONFIG_AUDIO is not set
#
-# Binary Formats
+# Binary Loader
#
# CONFIG_BINFMT_DISABLE is not set
# CONFIG_NXFLAT is not set
@@ -418,6 +490,7 @@ CONFIG_NUNGET_CHARS=2
# CONFIG_LIBM is not set
# CONFIG_NOPRINTF_FIELDWIDTH is not set
# CONFIG_LIBC_FLOATINGPOINT is not set
+# CONFIG_LIBC_IOCTL_VARIADIC is not set
CONFIG_LIB_RAND_ORDER=1
# CONFIG_EOL_IS_CR is not set
# CONFIG_EOL_IS_LF is not set
@@ -436,7 +509,6 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
#
# Non-standard Library Support
#
-# CONFIG_SCHED_WORKQUEUE is not set
# CONFIG_LIB_KBDCODEC is not set
# CONFIG_LIB_SLCDCODEC is not set
@@ -460,6 +532,7 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_EXAMPLES_BUTTONS is not set
# CONFIG_EXAMPLES_CAN is not set
# CONFIG_EXAMPLES_CONFIGDATA is not set
+# CONFIG_EXAMPLES_CPUHOG is not set
# CONFIG_EXAMPLES_DHCPD is not set
# CONFIG_EXAMPLES_ELF is not set
# CONFIG_EXAMPLES_FTPC is not set
@@ -470,7 +543,6 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_EXAMPLES_HIDKBD is not set
# CONFIG_EXAMPLES_KEYPADTEST is not set
# CONFIG_EXAMPLES_IGMP is not set
-# CONFIG_EXAMPLES_LCDRW is not set
# CONFIG_EXAMPLES_MM is not set
# CONFIG_EXAMPLES_MODBUS is not set
# CONFIG_EXAMPLES_MOUNT is not set
@@ -494,7 +566,6 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
# CONFIG_EXAMPLES_NXLINES is not set
# CONFIG_EXAMPLES_NXTEXT is not set
# CONFIG_EXAMPLES_OSTEST is not set
-# CONFIG_EXAMPLES_PASHELLO is not set
# CONFIG_EXAMPLES_PIPE is not set
# CONFIG_EXAMPLES_POLL is not set
# CONFIG_EXAMPLES_POSIXSPAWN is not set
@@ -502,6 +573,8 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
# CONFIG_EXAMPLES_RGMP is not set
# CONFIG_EXAMPLES_ROMFS is not set
# CONFIG_EXAMPLES_SENDMAIL is not set
+# CONFIG_EXAMPLES_SERIALBLASTER is not set
+# CONFIG_EXAMPLES_SERIALRX is not set
# CONFIG_EXAMPLES_SERLOOP is not set
# CONFIG_EXAMPLES_SLCD is not set
# CONFIG_EXAMPLES_SMART is not set
@@ -569,40 +642,41 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
#
#
-# USB CDC/ACM Device Commands
+# Custom Free Memory Command
#
+# CONFIG_SYSTEM_FREE is not set
#
-# USB Composite Device Commands
+# EMACS-like Command Line Editor
#
+# CONFIG_SYSTEM_CLE is not set
#
-# Custom Free Memory Command
+# FLASH Program Installation
#
-# CONFIG_SYSTEM_FREE is not set
+# CONFIG_SYSTEM_INSTALL is not set
#
-# I2C tool
+# FLASH Erase-all Command
#
#
-# INI File Parser
+# Intel HEX to binary conversion
#
-# CONFIG_SYSTEM_INIFILE is not set
+# CONFIG_SYSTEM_HEX2BIN is not set
#
-# FLASH Program Installation
+# I2C tool
#
-# CONFIG_SYSTEM_INSTALL is not set
#
-# FLASH Erase-all Command
+# INI File Parser
#
+# CONFIG_SYSTEM_INIFILE is not set
#
# NxPlayer media player library / command Line
#
-# CONFIG_SYSTEM_NXPLAYER is not set
#
# RAM test
@@ -615,6 +689,14 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
# CONFIG_SYSTEM_READLINE is not set
#
+# P-Code Support
+#
+
+#
+# PHY Tool
+#
+
+#
# Power Off
#
# CONFIG_SYSTEM_POWEROFF is not set
@@ -630,26 +712,30 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
# CONFIG_SYSTEM_SDCARD is not set
#
+# Sudoku
+#
+# CONFIG_SYSTEM_SUDOKU is not set
+
+#
# Sysinfo
#
# CONFIG_SYSTEM_SYSINFO is not set
#
-# USB Monitor
+# VI Work-Alike Editor
#
+# CONFIG_SYSTEM_VI is not set
#
-# EMACS-like Command Line Editor
+# Stack Monitor
#
-# CONFIG_SYSTEM_CLE is not set
#
-# VI Work-Alike Editor
+# USB CDC/ACM Device Commands
#
-# CONFIG_SYSTEM_VI is not set
#
-# Stack Monitor
+# USB Composite Device Commands
#
#
@@ -657,6 +743,10 @@ CONFIG_EXAMPLES_NX_TOOLBAR_HEIGHT=16
#
#
+# USB Monitor
+#
+
+#
# Zmodem Commands
#
# CONFIG_SYSTEM_ZMODEM is not set
diff --git a/nuttx/drivers/Makefile b/nuttx/drivers/Makefile
index 62d1986ca..a894ee292 100644
--- a/nuttx/drivers/Makefile
+++ b/nuttx/drivers/Makefile
@@ -71,10 +71,10 @@ include video$(DELIM)Make.defs
include wireless$(DELIM)Make.defs
ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
- CSRCS += dev_null.c dev_zero.c loop.c
+ CSRCS += dev_null.c dev_zero.c
ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y)
- CSRCS += ramdisk.c
+ CSRCS += ramdisk.c loop.c
ifeq ($(CONFIG_DRVR_WRITEBUFFER),y)
CSRCS += rwbuffer.c
else
diff --git a/nuttx/fs/driver/Make.defs b/nuttx/fs/driver/Make.defs
index 587076dae..7cf8c344b 100644
--- a/nuttx/fs/driver/Make.defs
+++ b/nuttx/fs/driver/Make.defs
@@ -38,8 +38,14 @@
ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
CSRCS += fs_registerdriver.c fs_unregisterdriver.c
+
+# Don't build-in block driver support if there are no mountpoints
+
+
+ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y)
CSRCS += fs_registerblockdriver.c fs_unregisterblockdriver.c
CSRCS += fs_findblockdriver.c fs_openblockdriver.c fs_closeblockdriver.c
+endif
# System logging to a character device (or file)
diff --git a/nuttx/fs/driver/fs_registerblockdriver.c b/nuttx/fs/driver/fs_registerblockdriver.c
index 6ef9308f5..ea611022d 100644
--- a/nuttx/fs/driver/fs_registerblockdriver.c
+++ b/nuttx/fs/driver/fs_registerblockdriver.c
@@ -46,6 +46,8 @@
#include "inode/inode.h"
+#ifndef CONFIG_DISABLE_MOUNTPOINT
+
/****************************************************************************
* Pre-processor oDefinitions
****************************************************************************/
@@ -122,3 +124,5 @@ int register_blockdriver(FAR const char *path,
return ret;
}
+#endif /* !CONFIG_DISABLE_MOUNTPOINT */
+
diff --git a/nuttx/fs/vfs/Make.defs b/nuttx/fs/vfs/Make.defs
index 1780eabd6..2ef44a96b 100644
--- a/nuttx/fs/vfs/Make.defs
+++ b/nuttx/fs/vfs/Make.defs
@@ -70,9 +70,15 @@ else
# Common file/socket descriptor support
CSRCS += fs_close.c fs_dup.c fs_dup2.c fs_fcntl.c fs_dupfd.c fs_dupfd2.c
-CSRCS += fs_fsync.c fs_getfilep.c fs_ioctl.c fs_lseek.c fs_mkdir.c fs_open.c
-CSRCS += fs_poll.c fs_read.c fs_rename.c fs_rmdir.c fs_stat.c fs_statfs.c
-CSRCS += fs_select.c fs_unlink.c fs_write.c
+CSRCS += fs_getfilep.c fs_ioctl.c fs_lseek.c fs_mkdir.c fs_open.c fs_poll.c
+CSRCS += fs_read.c fs_rename.c fs_rmdir.c fs_stat.c fs_statfs.c fs_select.c
+CSRCS += fs_unlink.c fs_write.c
+
+# Certain interfaces are not available if there is no mountpoint support
+
+ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y)
+CSRCS += fs_fsync
+endif
# Support for positional file access
diff --git a/nuttx/fs/vfs/fs_fsync.c b/nuttx/fs/vfs/fs_fsync.c
index 24e184142..4d2311ea0 100644
--- a/nuttx/fs/vfs/fs_fsync.c
+++ b/nuttx/fs/vfs/fs_fsync.c
@@ -49,6 +49,8 @@
#include "inode/inode.h"
+#ifndef CONFIG_DISABLE_MOUNTPOINT
+
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
@@ -146,3 +148,5 @@ int fsync(int fd)
return file_fsync(filep);
}
+
+#endif /* !CONFIG_DISABLE_MOUNTPOINT */