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: drv_drivers: loading modules from config file .travis.yml | 2 +- DEPENDENCIES | 2 +- configure.ac | 4 +- include/odp/drv/spec/driver.h | 293 ++++++++++++++++++++++++ include/odp_drv.h | 1 + platform/Makefile.inc | 1 + platform/linux-generic/Makefile.am | 3 + platform/linux-generic/drv_driver.c | 84 +++++++ 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_drivers.m4 | 11 + platform/linux-generic/odp_init.c | 77 +++++++ test/Makefile.inc | 4 +- 14 files changed, 521 insertions(+), 5 deletions(-) create mode 100644 include/odp/drv/spec/driver.h 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_drivers.m4 -- 2.7.4