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 init function (declared as __constructor__) calls the ODP odp_driver_register() intialialisation function which, at this stage does nothing (just print an error message). odp_driver_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 | 293 ++++++++++++++++++++++++ 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 | 44 ++++ platform/linux-generic/include/odp/drv/driver.h | 27 +++ 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 +- 15 files changed, 548 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/m4/odp_modules.m4 -- 2.7.4