diff --git a/fs/aio/Kconfig b/fs/aio/Kconfig new file mode 100644 index 00000000000..d4089bc83f8 --- /dev/null +++ b/fs/aio/Kconfig @@ -0,0 +1,15 @@ +# +# For a description of the syntax of this configuration file, +# see misc/tools/kconfig-language.txt. +# + +config FS_AIO + bool "Asynchronous I/O support" + default n + depends on SCHED_LPWORK + ---help--- + Enable support for aynchronous I/O. This selection enables the + interfaces declared in include/aio.h. + +if FS_AIO +endif diff --git a/fs/aio/Make.defs b/fs/aio/Make.defs index c1d0bea8ae4..194b70cf228 100644 --- a/fs/aio/Make.defs +++ b/fs/aio/Make.defs @@ -1,5 +1,5 @@ ############################################################################ -# fs/aio/Make.defs +# libc/fs/Make.defs # # Copyright (C) 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt @@ -33,7 +33,7 @@ # ############################################################################ -ifeq ($(CONFIG_LIBC_AIO),y) +ifeq ($(CONFIG_FS_AIO),y) # Add the asynchronous I/O C files to the build diff --git a/fs/aio/aio_cancel.c b/fs/aio/aio_cancel.c index 7e6c17d1ec5..ec49c3ecf6e 100644 --- a/fs/aio/aio_cancel.c +++ b/fs/aio/aio_cancel.c @@ -1,5 +1,5 @@ /**************************************************************************** - * fs/aio/aio_cancel.c + * libc/aio/aio_cancel.c * * Copyright (C) 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -48,7 +48,7 @@ #include "aio/aio.h" -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -164,4 +164,4 @@ int aio_cancel(int fildes, FAR struct aiocb *aiocbp) return ret; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/fs/aio/aio_fsync.c b/fs/aio/aio_fsync.c index f4441d5df32..ba4336638e6 100644 --- a/fs/aio/aio_fsync.c +++ b/fs/aio/aio_fsync.c @@ -1,5 +1,5 @@ /**************************************************************************** - * fs/aio/aio_fsync.c + * libc/aio/aio_fsync.c * * Copyright (C) 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -43,13 +43,13 @@ #include #include #include -#include #include +#include "lib_internal.h" #include "aio/aio.h" -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -225,4 +225,4 @@ int aio_fsync(int op, FAR struct aiocb *aiocbp) return OK; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/fs/aio/aio_read.c b/fs/aio/aio_read.c index 90c6a024a37..b6eedf2f717 100644 --- a/fs/aio/aio_read.c +++ b/fs/aio/aio_read.c @@ -1,5 +1,5 @@ /**************************************************************************** - * fs/aio/aio_read.c + * libc/aio/aio_read.c * * Copyright (C) 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -44,13 +44,13 @@ #include #include #include -#include #include +#include "lib_internal.h" #include "aio/aio.h" -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -273,4 +273,4 @@ int aio_read(FAR struct aiocb *aiocbp) return OK; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/fs/aio/aio_signal.c b/fs/aio/aio_signal.c index 60cb0be7751..aeec14f91e3 100644 --- a/fs/aio/aio_signal.c +++ b/fs/aio/aio_signal.c @@ -1,5 +1,5 @@ /**************************************************************************** - * fs/aio/aio_signal.c + * libc/aio/aio_signal.c * * Copyright (C) 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -48,7 +48,7 @@ #include "aio/aio.h" -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -145,4 +145,4 @@ int aio_signal(FAR struct aiocb *aiocbp) return OK; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/fs/aio/aio_write.c b/fs/aio/aio_write.c index 51a4709643a..fef44974bbe 100644 --- a/fs/aio/aio_write.c +++ b/fs/aio/aio_write.c @@ -1,5 +1,5 @@ /**************************************************************************** - * fs/aio/aio_write.c + * libc/aio/aio_write.c * * Copyright (C) 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt @@ -45,13 +45,13 @@ #include #include #include -#include #include +#include "lib_internal.h" #include "aio/aio.h" -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -304,4 +304,4 @@ int aio_write(FAR struct aiocb *aiocbp) return OK; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/include/aio.h b/include/aio.h index 202a24417ed..55e2ffa58f1 100644 --- a/include/aio.h +++ b/include/aio.h @@ -55,16 +55,16 @@ /* These interfaces are not available to kernel code */ #if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && defined(__KERNEL__) -# undef CONFIG_LIBC_AIO +# undef CONFIG_FS_AIO #endif /* Work queue support is required. The low-priority work queue is required * so that the asynchronous I/O does not interfere with high priority driver * operations. If this pre-requisite is met, then asynchronous I/O support - * can be enabled with CONFIG_LIBC_AIO + * can be enabled with CONFIG_FS_AIO */ -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO #ifndef CONFIG_SCHED_WORKQUEUE # error Asynchronous I/O requires CONFIG_SCHED_WORKQUEUE @@ -171,5 +171,5 @@ int lio_listio(int mode, FAR struct aiocb *const list[], int nent, } #endif -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ #endif /* __INCLUDE_AIO_H */ diff --git a/include/signal.h b/include/signal.h index 2589881dc13..ffb77e079c8 100644 --- a/include/signal.h +++ b/include/signal.h @@ -1,7 +1,7 @@ /******************************************************************************** * include/signal.h * - * Copyright (C) 2007-2009, 2011, 2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2011, 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -101,7 +101,7 @@ # endif #endif -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO # ifndef CONFIG_SIG_POLL # define SIGPOLL 5 /* Sent when an asynchronous I/O event occurs */ # else diff --git a/libc/aio/Make.defs b/libc/aio/Make.defs index e9187bcd2ea..7b5dda99e9c 100644 --- a/libc/aio/Make.defs +++ b/libc/aio/Make.defs @@ -33,7 +33,7 @@ # ############################################################################ -ifeq ($(CONFIG_LIBC_AIO),y) +ifeq ($(CONFIG_FS_AIO),y) # Add the asynchronous I/O C files to the build diff --git a/libc/aio/aio_error.c b/libc/aio/aio_error.c index abdffbde732..4d1eca99c5b 100644 --- a/libc/aio/aio_error.c +++ b/libc/aio/aio_error.c @@ -43,7 +43,7 @@ #include #include -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -111,4 +111,4 @@ int aio_error(FAR const struct aiocb *aiocbp) return OK; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/libc/aio/aio_return.c b/libc/aio/aio_return.c index c33a07e53c5..076d8fb293c 100644 --- a/libc/aio/aio_return.c +++ b/libc/aio/aio_return.c @@ -43,7 +43,7 @@ #include #include -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -115,4 +115,4 @@ ssize_t aio_return(FAR struct aiocb *aiocbp) return aiocbp->aio_result; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/libc/aio/aio_suspend.c b/libc/aio/aio_suspend.c index 8e7083338a7..b6a76ead757 100644 --- a/libc/aio/aio_suspend.c +++ b/libc/aio/aio_suspend.c @@ -45,7 +45,7 @@ #include #include -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -166,4 +166,4 @@ int aio_suspend(FAR const struct aiocb *const list[], int nent, return ret >= 0 ? OK : ERROR; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/libc/aio/lio_listio.c b/libc/aio/lio_listio.c index c9843a53321..45bb87bcff9 100644 --- a/libc/aio/lio_listio.c +++ b/libc/aio/lio_listio.c @@ -48,7 +48,7 @@ #include "lib_internal.h" #include "aio/aio.h" -#ifdef CONFIG_LIBC_AIO +#ifdef CONFIG_FS_AIO /**************************************************************************** * Pre-processor Definitions @@ -726,4 +726,4 @@ int lio_listio(int mode, FAR struct aiocb *const list[], int nent, return OK; } -#endif /* CONFIG_LIBC_AIO */ +#endif /* CONFIG_FS_AIO */ diff --git a/sched/Kconfig b/sched/Kconfig index 4fe0ad76296..3b9f8d00620 100644 --- a/sched/Kconfig +++ b/sched/Kconfig @@ -770,7 +770,7 @@ config SIG_SIGCHLD config SIG_POLL int "SIGPOLL" default 5 - depends on LIBC_AIO + depends on FS_AIO ---help--- The SIGPOLL signal is sent to a process when an asynchronous I/O event occurs (meaning it has been polled). Default: 5