mbox series

[API-NEXT,PATCHv10,0/5] driver initialisation framework

Message ID 1484844861-1302-1-git-send-email-christophe.milard@linaro.org
Headers show
Series driver initialisation framework | expand

Message

Christophe Milard Jan. 19, 2017, 4:54 p.m. UTC
Since V9:
 -driver interface reworked to be more consistent with the mem allocator
   which is now merged. (more handle based)
 -rebased

Since V8:
 -fixed corrupt V8
 -copyright updates: 2017 (BTW: Happy new year)

Since V7:
 -changed include order in drv_driver.c (Anders)
 -correction of package name for Fedora install in DEPENDENCIES (Anders)
 -user config file changed from ./odp.conf to ~/.odp.conf: then
   the user config file and the usage of the environment variable are
   clearly distinct (Anders)
 -fixed typo (Christophe)
 -module loading separated from driver file as modules are more general
  (i.e. can be used for other plugins such as schedulers...) (Anders)
 -Fix variable name to remove the "drv" prefix when handling modules

Since V6:
 -more inforamtion added in the DEPENDENCIES file for libconf installation
  (Maxim)

Since V5:
 -name and comment changes as suggested by Maxim
  in https://lists.linaro.org/pipermail/lng-odp/2016-December/027400.html
 -update .travis.yml

Since V4:
 -typo fix (Thanks Yi!)
 -rebased.

Since V3:
 -minor interface simplification and name change (Christophe)
 -Fix for clang (Bill)
 -Google doc describing the driver and device frameworks structure:
https://docs.google.com/document/d/1eCKPJF6uSlOllXi_sKDvRwUD2BXm-ZzxZoKT0nVEsl4/edit#heading=h.osxoshqj1bj

Since V2:
 -function odp_load_driver removed. replaced by config file. (Petri, FF)
 -configuration file "odp.conf" added. Configuration file is:
    1) as specified in env variable ODP_SYSCONFIG_FILE (which can be "none").
    2) ./odp.conf
    3) $(prefix)/etc/odp.conf
 -test removed: will be sent in a separate patch as many questions remains.
 -All libdl tests removed: libdl is assumed to always be on linux (Maxim)

Since V1:
 -enum names prefixed by ODPDRV (Yi)
 -better commit message for last patch (Christophe)
 -typo fix (Christophe)

This patch series puts the driver initialisation framework in place:
Loadable modules (*.so) are given in the odp.conf file added here.
Once loaded, the drivers module init function (declared as __constructor__)
calls the ODP odp_*_register() intialialisation function which,
at this stage does nothing (just print an error message).
odp_*_register() is of course part of the driver interface (south).

Christophe Milard (5):
  drv: adding driver registration interface (stub)
  linux-gen: adding enum, devio and driver registration interface (stub)
  linux-gen: init: adding configuration file parsing
  test: preventing odp.conf loading for tests
  linux-gen: modules: adding initial file to load modules

 .travis.yml                                        |   2 +-
 DEPENDENCIES                                       |   8 +-
 configure.ac                                       |   4 +-
 include/odp/drv/spec/driver.h                      | 389 +++++++++++++++++++++
 include/odp_drv.h                                  |   1 +
 platform/Makefile.inc                              |   1 +
 platform/linux-generic/Makefile.am                 |   4 +
 platform/linux-generic/_modules.c                  |  53 +++
 platform/linux-generic/drv_driver.c                |  64 ++++
 platform/linux-generic/include/odp/drv/driver.h    |  37 ++
 .../include/odp/drv/plat/driver_types.h            |  52 +++
 platform/linux-generic/include/odp_internal.h      |   5 +
 platform/linux-generic/m4/configure.m4             |  12 +
 platform/linux-generic/m4/odp_modules.m4           |  11 +
 platform/linux-generic/odp_init.c                  |  87 +++++
 test/Makefile.inc                                  |   4 +-
 16 files changed, 726 insertions(+), 8 deletions(-)
 create mode 100644 include/odp/drv/spec/driver.h
 create mode 100644 platform/linux-generic/_modules.c
 create mode 100644 platform/linux-generic/drv_driver.c
 create mode 100644 platform/linux-generic/include/odp/drv/driver.h
 create mode 100644 platform/linux-generic/include/odp/drv/plat/driver_types.h
 create mode 100644 platform/linux-generic/m4/odp_modules.m4

-- 
2.7.4