This patch series implements the driver interface, i.e. enumerator class, enumerator, devio and drivers registration and probing. This interface is depicted in: https://docs.google.com/document/d/1eCKPJF6uSlOllXi_sKDvRwUD2BXm-ZzxZoKT0nVEsl4/edit The associated tests are testing these mechanisms. Note that these tests are testing staticaly linked modules only (hence avoiding the module/platform/test debate). Also note that these tests are gathering all the elements (enumerators, enumerator classes, devio, drivers) making up the driver interface so as their interactions can be checked. Real elements (pci enumerators, drivers...) will likely be written in a much more stand-alone way.
Christophe Milard (21): drv: making parameter strings dynamically computable linux-gen: drv: enumerator_class registration test: drv: enumerator_class registration tests linux-gen: drv: enumerator registration test: drv: enumerator registration tests drv: driver: change drv unbind function name and pass correct parameter drv: driver: add callback function for device destruction linux-gen: drv: device creation and deletion drv: driver: adding device query function linux-gen: drv: driver: adding device querry function test: drv: device creation and destruction drv: driver: adding a probe and remove callback for devio linux-gen: drv: devio registration test: drv: devio creation and destruction drv: adding driver remove function drv: complement parameters to the driver probe() function linux-gen: driver registration and probing test: drv: driver registration and probing drv: driver: adding functions to attach driver's data to the device linux-gen: adding functions to attach driver's data to the device test: drv: test for setting and retrieving driver's data include/odp/drv/spec/driver.h | 132 ++- platform/linux-generic/Makefile.am | 1 + platform/linux-generic/_modules.c | 4 + platform/linux-generic/drv_driver.c | 1037 +++++++++++++++++++- .../linux-generic/include/drv_driver_internal.h | 22 + platform/linux-generic/include/odp_internal.h | 5 + platform/linux-generic/odp_init.c | 21 +- test/common_plat/m4/configure.m4 | 1 + test/common_plat/validation/drv/Makefile.am | 1 + .../validation/drv/drvdriver/.gitignore | 5 + .../validation/drv/drvdriver/Makefile.am | 60 ++ .../validation/drv/drvdriver/drvdriver_device.c | 218 ++++ .../validation/drv/drvdriver/drvdriver_device.h | 24 + .../drv/drvdriver/drvdriver_device_main.c | 12 + .../validation/drv/drvdriver/drvdriver_devio.c | 209 ++++ .../validation/drv/drvdriver/drvdriver_devio.h | 24 + .../drv/drvdriver/drvdriver_devio_main.c | 12 + .../validation/drv/drvdriver/drvdriver_driver.c | 518 ++++++++++ .../validation/drv/drvdriver/drvdriver_driver.h | 24 + .../drv/drvdriver/drvdriver_driver_main.c | 12 + .../validation/drv/drvdriver/drvdriver_enumr.c | 303 ++++++ .../validation/drv/drvdriver/drvdriver_enumr.h | 24 + .../drv/drvdriver/drvdriver_enumr_class.c | 174 ++++ .../drv/drvdriver/drvdriver_enumr_class.h | 24 + .../drv/drvdriver/drvdriver_enumr_class_main.c | 12 + .../drv/drvdriver/drvdriver_enumr_main.c | 12 + test/linux-generic/Makefile.am | 5 + 27 files changed, 2861 insertions(+), 35 deletions(-) create mode 100644 platform/linux-generic/include/drv_driver_internal.h create mode 100644 test/common_plat/validation/drv/drvdriver/.gitignore create mode 100644 test/common_plat/validation/drv/drvdriver/Makefile.am create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_device.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_device.h create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_device_main.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_devio.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_devio.h create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_devio_main.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_driver.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_driver.h create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_driver_main.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_enumr.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_enumr.h create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_enumr_class.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_enumr_class.h create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_enumr_class_main.c create mode 100644 test/common_plat/validation/drv/drvdriver/drvdriver_enumr_main.c -- 2.7.4