Commit Graph

26 Commits

Author SHA1 Message Date
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
Juha Niskanen
fa5a2035ff drivers: analog: adc: add poll support 2017-08-28 07:05:33 -06:00
Gregory Nutt
e75e3eb807 drivers/analog: Fix some data alignment issues in the ADC driver. 2017-07-27 08:09:21 -06:00
Gregory Nutt
49d78f7b55 ADC: Some trivial coding standard changes. 2017-07-22 16:59:46 -06:00
Jussi Kivilinna
dffb8a67e3 Add entropy pool and strong random number generator
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.

Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
Gregory Nutt
4fcbe8e410 drivers: Disable priority inheritance on all semaphores used for signaling 2016-11-03 11:00:47 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
86b79b33cf Reserver the name 'err' for other purposes 2016-06-11 14:40:07 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Manuel Stühn
5c6c7bd60d Fix recently introduced problem with build of ADC driver with analog debug enabled. 2016-05-29 13:45:40 -06:00
Gregory Nutt
b630d48175 Add bind method to the ADC lower-half interface 2016-05-26 11:32:26 -06:00
Gregory Nutt
2244ed46bc nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section() 2016-02-14 07:32:58 -06:00
Gregory Nutt
cf14f8d1b5 drivers/: Fixes to spacing and alignement 2015-10-10 10:41:00 -06:00
Gregory Nutt
dd8bb71cbc Remove empty ADC write method. From Kosma Moczek 2014-06-30 07:55:28 -06:00
Gregory Nutt
91b002a043 Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced 2014-02-10 18:08:49 -06:00
Gregory Nutt
3fd4629bd7 SAMA5 ADC: Seems functional in all modes including DMA 2013-10-28 10:08:12 -06:00
patacongo
1ce3801086 STM32 ADC driver fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5247 42af7a65-404d-4744-a932-0658087f49c3
2012-10-21 16:53:38 +00:00
patacongo
2fe4ad52f8 Move file-system header files to include/nuttx/fs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4499 42af7a65-404d-4744-a932-0658087f49c3
2012-03-21 18:01:07 +00:00
patacongo
761cfde591 Add Sure PIC32 NSH configuration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4216 42af7a65-404d-4744-a932-0658087f49c3
2011-12-22 22:13:44 +00:00
patacongo
fc3cd5db6d Update to the STM32 ADC and CAN drivers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4215 42af7a65-404d-4744-a932-0658087f49c3
2011-12-22 21:55:54 +00:00
patacongo
9d455730dc Updated STM32 ADC driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4189 42af7a65-404d-4744-a932-0658087f49c3
2011-12-16 00:32:11 +00:00
patacongo
e6fea28fd5 ADC bugfixes plus new DAC logic from Lzyy
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3913 42af7a65-404d-4744-a932-0658087f49c3
2011-08-25 14:11:39 +00:00
patacongo
b46187ad36 Missing a some re-naming in the last checkin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3896 42af7a65-404d-4744-a932-0658087f49c3
2011-08-19 14:17:25 +00:00
patacongo
a6f7974545 Add ADC sub-system and drivers from Lzyy
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3895 42af7a65-404d-4744-a932-0658087f49c3
2011-08-19 14:05:05 +00:00