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

Reply via email to