diff mbox

[API-NEXT,PATCHv2,3/3] doc: descr of structure for new interfaces

Message ID 1454956317-2519-4-git-send-email-christophe.milard@linaro.org
State Superseded
Headers show

Commit Message

Christophe Milard Feb. 8, 2016, 6:31 p.m. UTC
updates of the documentation to reflect the new structure allowing new
interface addition.

Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
---
 doc/implementers-guide/implementers-guide.adoc | 72 +++++++++++++++-----------
 doc/users-guide/users-guide.adoc               | 11 ++--
 2 files changed, 50 insertions(+), 33 deletions(-)

Comments

Bill Fischofer Feb. 9, 2016, 1:06 a.m. UTC | #1
Applying this part gives whitespace errors:

bill@Ubuntu15:~/linaro/christophe$ git am ~/Mail/Incoming/Christophe/3
Applying: doc: descr of structure for new interfaces
/home/bill/linaro/christophe/.git/rebase-apply/patch:45: indent with spaces.
        └── include/
/home/bill/linaro/christophe/.git/rebase-apply/patch:46: indent with spaces.
            ├── Internal header files seen only by the implementation.
/home/bill/linaro/christophe/.git/rebase-apply/patch:47: indent with spaces.
            └── odp/
/home/bill/linaro/christophe/.git/rebase-apply/patch:48: indent with spaces.
                └── api/ <2>
/home/bill/linaro/christophe/.git/rebase-apply/patch:49: indent with spaces.
                    ├── In-line function definitions of the public API for
this
warning: squelched 6 whitespace errors
warning: 11 lines add whitespace errors.

On Mon, Feb 8, 2016 at 12:31 PM, Christophe Milard <
christophe.milard@linaro.org> wrote:

> updates of the documentation to reflect the new structure allowing new

> interface addition.

>

> Signed-off-by: Christophe Milard <christophe.milard@linaro.org>

> ---

>  doc/implementers-guide/implementers-guide.adoc | 72

> +++++++++++++++-----------

>  doc/users-guide/users-guide.adoc               | 11 ++--

>  2 files changed, 50 insertions(+), 33 deletions(-)

>

> diff --git a/doc/implementers-guide/implementers-guide.adoc

> b/doc/implementers-guide/implementers-guide.adoc

> index d68354d..1f0dac9 100644

> --- a/doc/implementers-guide/implementers-guide.adoc

> +++ b/doc/implementers-guide/implementers-guide.adoc

> @@ -18,44 +18,58 @@ The implementers view of the include source tree

> allows the common API

>  definitions and documentation to be reused by all the platforms defined

> in the

>  tree, but leave the actual definitions to be defined by the specific

> platform.

>

> -.Implementers include structure

> +.Implementers include structure (in repository)

>  ----

>  ./

>  ├── include/

>  │   ├── odp/

> -│   │   └── api/ <1>

> -│   │       └── The Public API and the documentation.

> +│   │   └── api/

> +│   │       └── spec/

> +│   │           └── The Public API specification and its documentation.

> <1>

>  │   │

> -│   └── odp.h <4>  This file should be the only file included by the

> application.

> +│   └── odp_api.h  This file should be the only file included by the any

> ODP

> +│                  application. <4>

>  │

> -├── platform/

> -│   ├── <implementation name>/

> -│   │   ├── include/

> -│   │   │   ├── odp/ <2>

> -│   │   │   │   ├── In-line function definitions of the public API for

> this

> -│   │   │   │   │   platform seen by the application.

> -│   │   │   │   │

> -│   │   │   │   └── plat/ <3>

> -│   │   │   │       └── Platform specific types, enums etc as seen by the

> -│   │   │   │           application but require overriding by the

> -│   │   │   │           implementation.

> -│   │   │   │

> -│   │   │   └── Internal header files seen only by the implementation.

> +└── platform/

> +    └── <implementation name>/

> +        └── include/

> +            ├── Internal header files seen only by the implementation.

> +            └── odp/

> +                └── api/ <2>

> +                    ├── In-line function definitions of the public API

> for this

> +                    │   platform seen by the application.

> +                    │

> +                    └── plat/ <3>

> +                        └── Platform specific types, enums etc as seen by

> the

> +                            application but require overriding by the

> +                            implementation.

>  ----

> -

> -<1> The doxygen description of the API definition is held in the public

> api file

> -'include/odp/api'.

> -<2> The public file is included by a counterpart in

> -'platform/<implementation name>/include/odp'.

> -The include of the public API is AFTER the platform specific definitions

> to

> -allow the platform to provide definitions that match the underlying

> hardware.

> -<3> The implementation code includes 'platform/<implementation

> name>/include/plat'

> -and this then provides the source files with a complete definition the

> ODP API

> -to be implemented.

> -<4> Applications in turn include the include/odp.h file which includes the

> -'platform/<implementation name>/include/plat' files to provide a complete

> +<1> The specification, defining the ODP application programming interface

> (API)

> +is held in 'include/odp/api/spec/'. The ODP API is defined by a set of

> '.h'

> +files including doxygen documentation.

> +<2> Each public specification file is included by a counterpart in

> +'platform/<implementation name>/include/odp/api'.

> +The include of the specification API is AFTER the platform specific

> definitions

> +to allow the platform to provide definitions that match the underlying

> hardware.

> +<3> The implementation code may include files from

> +'platform/<implementation name>/include/odp/api/plat'

> +<4> Applications in turn include the include/odp_api.h file which

> includes the

> +'platform/<implementation name>/include/odp/api' files to provide a

> complete

>  definition of the API.

>

> +After ODP installation (make install), the structure becomes as follows:

> +

> +.Installed ODP structure

> +----

> +./

> +└── include/

> +    ├── odp/

> +    │   └── api/      API In-line for this platform.

> +    │       ├── plat/ API Platform specific types.

> +    │       └── spec/ The public API specification.

> +    └── odp_api.h

> +----

> +

>  == The validation Suite ==

>

>  ODP provides a comprehensive set of API validation tests that are

> intended to be

> diff --git a/doc/users-guide/users-guide.adoc

> b/doc/users-guide/users-guide.adoc

> index 5668a0b..221fb21 100644

> --- a/doc/users-guide/users-guide.adoc

> +++ b/doc/users-guide/users-guide.adoc

> @@ -462,8 +462,8 @@ _synchronization_ mechanisms.

>  ODP provides APIs to assist in each of these areas.

>

>  === The include structure

> -Applications only include the 'include/odp.h' file, which includes the

> -'platform/<implementation name>/include/odp' files to provide a complete

> +Applications only include the 'include/odp_api.h' file, which includes the

> +'platform/<implementation name>/include/odp/api' files to provide a

> complete

>  definition of the API on that platform. The doxygen documentation defining

>  the behavior of the ODP API is all contained in the public API files, and

> the

>  actual definitions for an implementation will be found in the per platform

> @@ -477,9 +477,12 @@ visible to the application.

>  ├── include/

>  │   ├── odp/

>  │   │   └── api/

> -│   │       └── The Public API and the documentation.

> +│   │       └── spec/

> +│   │           └── The Public API and the documentation.

>  │   │

> -│   └── odp.h   This file should be the only file included by the

> application.

> +│   │

> +│   ├── odp_api.h   This file should be the only file included by the

> +│   │               application.

>  ----

>

>  === Initialization

> --

> 2.1.4

>

>
Anders Roxell Feb. 9, 2016, 8:22 a.m. UTC | #2
On 2016-02-08 19:06, Bill Fischofer wrote:
> Applying this part gives whitespace errors:
> 
> bill@Ubuntu15:~/linaro/christophe$ git am ~/Mail/Incoming/Christophe/3
> Applying: doc: descr of structure for new interfaces
> /home/bill/linaro/christophe/.git/rebase-apply/patch:45: indent with spaces.
>         └── include/
> /home/bill/linaro/christophe/.git/rebase-apply/patch:46: indent with spaces.
>             ├── Internal header files seen only by the implementation.
> /home/bill/linaro/christophe/.git/rebase-apply/patch:47: indent with spaces.
>             └── odp/
> /home/bill/linaro/christophe/.git/rebase-apply/patch:48: indent with spaces.
>                 └── api/ <2>
> /home/bill/linaro/christophe/.git/rebase-apply/patch:49: indent with spaces.
>                     ├── In-line function definitions of the public API for
> this
> warning: squelched 6 whitespace errors
> warning: 11 lines add whitespace errors.

The patch have the same indentation as the rest of the file, so it looks
good in that respect.  However, if we agree to use tabs in docs as well
then we have to fix this in a separate patch IMO.

However, when I open up the file I can see funny characters and not only
spaces in the patch Christope.  So probably some copy paste issue.


Cheers,
Anders
Christophe Milard Feb. 9, 2016, 8:44 a.m. UTC | #3
I think the docs should use space when it comes to trees. It make more
sense than tabs, as it is a "drawing". This is what was used so far.
But Anders is right here: there are strange ascii codes decimal 160
probably output by the "tree" command.
I will send a v3 without these.

Christophe.



On 9 February 2016 at 09:22, Anders Roxell <anders.roxell@linaro.org> wrote:

> On 2016-02-08 19:06, Bill Fischofer wrote:

> > Applying this part gives whitespace errors:

> >

> > bill@Ubuntu15:~/linaro/christophe$ git am ~/Mail/Incoming/Christophe/3

> > Applying: doc: descr of structure for new interfaces

> > /home/bill/linaro/christophe/.git/rebase-apply/patch:45: indent with

> spaces.

> >         └── include/

> > /home/bill/linaro/christophe/.git/rebase-apply/patch:46: indent with

> spaces.

> >             ├── Internal header files seen only by the implementation.

> > /home/bill/linaro/christophe/.git/rebase-apply/patch:47: indent with

> spaces.

> >             └── odp/

> > /home/bill/linaro/christophe/.git/rebase-apply/patch:48: indent with

> spaces.

> >                 └── api/ <2>

> > /home/bill/linaro/christophe/.git/rebase-apply/patch:49: indent with

> spaces.

> >                     ├── In-line function definitions of the public API

> for

> > this

> > warning: squelched 6 whitespace errors

> > warning: 11 lines add whitespace errors.

>

> The patch have the same indentation as the rest of the file, so it looks

> good in that respect.  However, if we agree to use tabs in docs as well

> then we have to fix this in a separate patch IMO.

>

> However, when I open up the file I can see funny characters and not only

> spaces in the patch Christope.  So probably some copy paste issue.

>

>

> Cheers,

> Anders

>
diff mbox

Patch

diff --git a/doc/implementers-guide/implementers-guide.adoc b/doc/implementers-guide/implementers-guide.adoc
index d68354d..1f0dac9 100644
--- a/doc/implementers-guide/implementers-guide.adoc
+++ b/doc/implementers-guide/implementers-guide.adoc
@@ -18,44 +18,58 @@  The implementers view of the include source tree allows the common API
 definitions and documentation to be reused by all the platforms defined in the
 tree, but leave the actual definitions to be defined by the specific platform.
 
-.Implementers include structure
+.Implementers include structure (in repository)
 ----
 ./
 ├── include/
 │   ├── odp/
-│   │   └── api/ <1>
-│   │       └── The Public API and the documentation.
+│   │   └── api/
+│   │       └── spec/
+│   │           └── The Public API specification and its documentation. <1>
 │   │
-│   └── odp.h <4>  This file should be the only file included by the application.
+│   └── odp_api.h  This file should be the only file included by the any ODP
+│                  application. <4>-├── platform/
-│   ├── <implementation name>/
-│   │   ├── include/
-│   │   │   ├── odp/ <2>
-│   │   │   │   ├── In-line function definitions of the public API for this
-│   │   │   │   │   platform seen by the application.
-│   │   │   │   │
-│   │   │   │   └── plat/ <3>
-│   │   │   │       └── Platform specific types, enums etc as seen by the
-│   │   │   │           application but require overriding by the
-│   │   │   │           implementation.
-│   │   │   │  
-│   │   │   └── Internal header files seen only by the implementation.
+└── platform/
+    └── <implementation name>/
+        └── include/
+            ├── Internal header files seen only by the implementation.
+            └── odp/
+                └── api/ <2>
+                    ├── In-line function definitions of the public API for this
+                    │   platform seen by the application.
+                    │
+                    └── plat/ <3>
+                        └── Platform specific types, enums etc as seen by the
+                            application but require overriding by the
+                            implementation.
 ----
-
-<1> The doxygen description of the API definition is held in the public api file
-'include/odp/api'.
-<2> The public file is included by a counterpart in
-'platform/<implementation name>/include/odp'.
-The include of the public API is AFTER the platform specific definitions to
-allow the platform to provide definitions that match the underlying hardware.
-<3> The implementation code includes 'platform/<implementation name>/include/plat'
-and this then provides the source files with a complete definition the ODP API
-to be implemented.
-<4> Applications in turn include the include/odp.h file which includes the
-'platform/<implementation name>/include/plat' files to provide a complete
+<1> The specification, defining the ODP application programming interface (API)
+is held in 'include/odp/api/spec/'. The ODP API is defined by a set of '.h'
+files including doxygen documentation.
+<2> Each public specification file is included by a counterpart in
+'platform/<implementation name>/include/odp/api'.
+The include of the specification API is AFTER the platform specific definitions
+to allow the platform to provide definitions that match the underlying hardware.
+<3> The implementation code may include files from
+'platform/<implementation name>/include/odp/api/plat'
+<4> Applications in turn include the include/odp_api.h file which includes the
+'platform/<implementation name>/include/odp/api' files to provide a complete
 definition of the API.
 
+After ODP installation (make install), the structure becomes as follows:
+
+.Installed ODP structure
+----
+./
+└── include/
+    ├── odp/
+    │   └── api/      API In-line for this platform.
+    │       ├── plat/ API Platform specific types.
+    │       └── spec/ The public API specification.
+    └── odp_api.h
+----
+
 == The validation Suite ==
 
 ODP provides a comprehensive set of API validation tests that are intended to be
diff --git a/doc/users-guide/users-guide.adoc b/doc/users-guide/users-guide.adoc
index 5668a0b..221fb21 100644
--- a/doc/users-guide/users-guide.adoc
+++ b/doc/users-guide/users-guide.adoc
@@ -462,8 +462,8 @@  _synchronization_ mechanisms.
 ODP provides APIs to assist in each of these areas.
 
 === The include structure
-Applications only include the 'include/odp.h' file, which includes the
-'platform/<implementation name>/include/odp' files to provide a complete
+Applications only include the 'include/odp_api.h' file, which includes the
+'platform/<implementation name>/include/odp/api' files to provide a complete
 definition of the API on that platform. The doxygen documentation defining
 the behavior of the ODP API is all contained in the public API files, and the
 actual definitions for an implementation will be found in the per platform
@@ -477,9 +477,12 @@  visible to the application.
 ├── include/
 │   ├── odp/
 │   │   └── api/
-│   │       └── The Public API and the documentation.
+│   │       └── spec/
+│   │           └── The Public API and the documentation.
 │   │
-│   └── odp.h   This file should be the only file included by the application.
+│   │
+│   ├── odp_api.h   This file should be the only file included by the
+│   │               application.
 ----
 
 === Initialization