Commit Graph

10 Commits

Author SHA1 Message Date
L.S. Cook fb4b8d2933 doc: Edit nanokernel_synchronization section
Fix for imperative API descriptions, note needs work (see comment).

Change-Id: I300ff03ee5c6b6cb50cf2b1614f22940a0b10213
Signed-off-by: L.S. Cook <leonax.cook@intel.com>
2016-03-19 10:40:53 +00:00
Peter Mitsis 54b782a88b nano_sema: Simplify nano_xxx_sem_take() API family
Changes the nanokernel semaphore API so that the timeout parameter must be
specified when invoking nano_isr_sem_take(), nano_fiber_sem_take(),
nano_task_sem_take() and nano_sem_take().

This obsoletes the following APIs:
	nano_fiber_sem_take_wait()
	nano_fiber_sem_take_wait_timeout()
	nano_task_sem_take_wait()
	nano_task_sem_take_wait_timeout()
	nano_sem_take_wait()
	nano_sem_take_wait_timeout()

Change-Id: If7a4bce1bd8ec8d6410d04f3c16ff1922ff0910e
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:25:14 -05:00
Peter Mitsis 836eaee18a nanokernel: Add generic semaphore routines
Adds the following generic semaphore routines:
	nano_sem_take()
	nano_sem_take_wait()

Those routines are convenience wrappers for invoking the task, fiber and
ISR (if applicable) specific implementations.

Change-Id: I09d715d07263eb0ee526231120ba65d1e3feebce
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis 111323fc90 doc: Fix typo in nanokernel semaphore APIs
Change-Id: If3206b3113b7a47efc520887f53b3299e8da2404
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:43 -05:00
Rodrigo Caballero c1c1ffe7f7 doc: Change API tables to lists in the Kernel Primer.
The tables in the Kernel Primer are changed to lists. Making it easier
to update them. Other minor changes were done to ensure consitency.
The :c: and :cpp: markup has been fixed. When the documentation for a
call exists, then it is linked.

Change-Id: I8f389a0a0ca7c5fe904c0a1fa520e2e499f1001b
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:24:29 -05:00
Allan Stephens 9fc6bcaa8d doc: Add label for nanokernel semaphore documentation
Adds in a label that can be used to reference the nanokernel semaphore
documentation, similar to what's available for other nanokernel services.

Change-Id: Ic97852e85b41a9e6e778dde820b98ea5be5f06f1
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
Allan Stephens 87d41fb144 doc: Enhance section on nanokernel semaphore objects
Provides additional details about the use of nanokernel semaphores,
following the standard format now being used for kernel object types.

Change-Id: Iddd1c53ebbdbebdfa7e8bfa335d4d267c69ab572
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Peter Mitsis 3d2f48b68f doc: Add missing Usage section title
Change-Id: I2533bd7f16ad1e3ba44f9c0c282067dc82d33c26
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:32 -05:00
Peter Mitsis 51a8a998cd doc: Add nanokernel signaling code samples
Adds examples showing how to ...
 1. initialize a nanokernel semaphore
 2. give a nanokernel semaphore from an ISR
 3. take a nanokernel semaphore with a timeout

Change-Id: I6d5c2c0616c1dd69b42f5e3002c8678c067fb0f2
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:28 -05:00
Allan Stephens 61fa627f74 doc: Terminology change - signalling -> synchronization
The kernel's services previously referred to as "signalling services",
which include object types such as semaphores, events, and mutexes,
are now referred to as "synchronization services". This term more
clearly conveys their use as a means to synchronize the operation
of two or more entities within the kernel.

Change-Id: Id24b96f2daf7d866a2d134c222e3d0b6fc568f5a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:26 -05:00