Commit Graph

33 Commits

Author SHA1 Message Date
Xiang Xiao
5c80b94820 Replace #include <semaphore.h> to #include <nuttx/semaphore.h>
Since the kernel side should call nxsem_xxx instead and remove the unused inclusion
2020-02-01 08:27:30 -06:00
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Gregory Nutt
9546481054 Fix some typographical errors. 2018-09-14 06:55:45 -06:00
Gregory Nutt
7cf88d7dbd Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
efb02f2ef1 drivers/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network evernts are not errors. 2016-06-12 08:31:22 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -06:00
Gregory Nutt
cdc8fc52d1 SmartFS: Implements wear-leveling in the SmartFS. From Ken Pettit 2014-12-09 14:11:15 -06:00
Gregory Nutt
205260d5e2 Reanem kzalloc to kmm_zalloc for consistency 2014-08-31 17:34:44 -06:00
Gregory Nutt
49f73c04ae Fix a typo that was cloned to several SAMA5 and MTD files 2013-12-21 09:45:27 -06:00
Gregory Nutt
ed9756c137 MTD NAND: Check if block number is out of ragne at top of loop, not bottom, to avoid some bogus transfers 2013-12-05 18:19:48 -06:00
Gregory Nutt
37c5113c94 MTD NAND: Fix an error in the calculation of the page number 2013-12-02 17:21:09 -06:00
Gregory Nutt
7847443f5a MTD NAND: Fix a misplaced endif 2013-12-01 21:06:07 -06:00
Gregory Nutt
1ea447867a SAMA5 NAND: Still debugging 2013-11-28 12:21:33 -06:00
Gregory Nutt
881c12cad8 Fixes a couple of errors in MTD NAND logic 2013-11-27 15:02:21 -06:00
Gregory Nutt
5fb0062d2d SAMA5 NAND: A few bug fixes for integration. Still lots more to do 2013-11-27 11:04:40 -06:00
Gregory Nutt
2be17cd41f SAMA5 NAND: Fix a few race conditions 2013-11-25 13:53:58 -06:00
Gregory Nutt
448c8572cd Rethinking some NAND interfaces 2013-11-19 08:50:12 -06:00
Gregory Nutt
d8a3f21a47 Finishes up NAND software ECC logic 2013-11-18 11:42:17 -06:00
Gregory Nutt
3faa880ef1 MTD NAND: Beginning of software ECC logic 2013-11-18 09:43:44 -06:00
Gregory Nutt
22d4eb9cca More NAND stuff 2013-11-17 14:35:57 -06:00
Gregory Nutt
d54832a942 More NAND stuff 2013-11-17 12:22:09 -06:00
Gregory Nutt
0e7a8668a5 Continuing NAND integration 2013-11-17 08:56:30 -06:00
Gregory Nutt
03b9f5a8e6 More NAND logic (still not complete) 2013-11-16 18:26:07 -06:00
Gregory Nutt
d421eb4fd6 Futher NAND development 2013-11-16 13:19:09 -06:00
Gregory Nutt
854e50b48e Further NAND support 2013-11-16 12:22:43 -06:00
Gregory Nutt
7ccbbe07cb Further NAND development 2013-11-16 11:46:35 -06:00