zephyr/doc
Tomasz Bursztyka 55fdd1fd33 device: Provide generic API to handle synchronous calls in drivers
Introduce the device_sync_call_t object type and its API.

This object type allows one thread to perform synchronous calls into a
driver. Only one thread can do such calls per instance of the
device_sync_call_t object since it makes a global record of what type of
thread is waiting on it.

Based on an idea from Dmitriy Korovkin and Peter Mitsis, moving their
proposal to a more generic API provides the solution for all device
drivers that exposes synchronous API in an interrupt based
implementation.

Change-Id: I793fac76645396bf4eb6be38b5a130ac6bde8f73
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2016-02-05 20:24:57 -05:00
..
application qemu: Creation of QEMU specific platforms 2016-02-05 20:24:56 -05:00
collaboration replace nano_tick_get_32 with sys_tick_get_32 2016-02-05 20:24:55 -05:00
crypto DOC: edit the encryption documentation. 2016-02-05 20:24:21 -05:00
kernel device: Provide generic API to handle synchronous calls in drivers 2016-02-05 20:24:57 -05:00
platform doc: codename -> Zephyr Kernel 2016-02-05 20:24:34 -05:00
quick_start qemu: Creation of QEMU specific platforms 2016-02-05 20:24:56 -05:00
reference Add group definition to event logger. 2016-02-05 20:24:41 -05:00
scripts/genrest doc: Update Kconfig documentation tool 'genrest' 2016-02-05 20:24:54 -05:00
themes/zephyr doc: Change conf.py and index.rst to fix the copyright and license. 2016-02-05 20:24:34 -05:00
Makefile generate kconfig variables automatically 2016-02-05 20:15:35 -05:00
README.rst doc: project -> Zephyr Project 2016-02-05 20:24:34 -05:00
about_zephyr.rst doc: Fix warnings shown when building the documentation. 2016-02-05 20:24:36 -05:00
conf.py Zephyr 0.6.0 2016-02-05 20:24:37 -05:00
doxygen.config Add group definition to event logger. 2016-02-05 20:24:41 -05:00
index.rst doc: Change conf.py and index.rst to fix the copyright and license. 2016-02-05 20:24:34 -05:00
substitutions.rst doc: remove PM keyword from substitutions 2016-02-05 20:24:34 -05:00

README.rst

Welcome to Zephyr Kernel
########################

.. This document is in Restructured Text Format.

   More information at `<http://sphinx-doc.org/rest.html>`_.
   This is a comment that won't show up in formatted output

Welcome to the Zephyr Project.

Thank you for your interest in the Zephyr Project. These instructions are
designed to walk you through generating the Zephyr Project's documentation.


Documentation Notes
*******************

The project's documentation currently comprises the following items:

* An Installation Guide for Linux host systems

* A set of Collaboration Guidelines for the project.

* Raw Doxygen output from the code base.

Installing the documentation processors
***************************************

Install the current version of :program:`Sphinx`, type:

.. code-block:: bash

   $ git clone https://github.com/sphinx-doc/sphinx.git sphinx

   $ cd sphinx

   $ sudo -E python setup.py install

   $ cd ..

   $ git clone https://github.com/michaeljones/breathe.git breathe

   $ cd breathe

   $ sudo -E python setup.py install

.. note::

   Make sure that :program:`Doxygen` is installed in your system.
   The installation of Doxygen is beyond the scope of this document.

Running the documentation generators
************************************

Assuming that the Zephyr Project tree with the doc directory is in
:file:`DIRECTORY`, type:

.. code-block:: bash

   $ cd DIRECTORY/doc

   $ make doxy html

Find the output in :file:`DIRECTORY/doc/_build/html/index.html`

Review the available formats with:

.. code-block:: bash

   $ make -C DIRECTORY/doc doxy html

If you want the LaTeX PDF output, you need to install all the Latex
packages first. That installation is beyond the scope of this document.