mbox series

[API-NEXT,00/21] driver items registration and probing

Message ID 1487768164-43184-1-git-send-email-christophe.milard@linaro.org
Headers show
Series driver items registration and probing | expand

Message

Christophe Milard Feb. 22, 2017, 12:55 p.m. UTC
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

Comments

Bill Fischofer Feb. 22, 2017, 11 p.m. UTC | #1
On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <
christophe.milard@linaro.org> wrote:

> Of course, when probing a driver, the latter should be given the devio

> handle to be used. This is what this patch adds. It also adds the index

> of the devio, hence telling the driver which of the possible

> ODPDRV_MAX_DEVIOS devios was selected, as this is going to be the first

> thing the driver needs to know.

>

> Signed-off-by: Christophe Milard <christophe.milard@linaro.org>

> ---

>  include/odp/drv/spec/driver.h | 7 +++++--

>  1 file changed, 5 insertions(+), 2 deletions(-)

>

> diff --git a/include/odp/drv/spec/driver.h b/include/odp/drv/spec/driver.h

> index 221a6ce..b3c9b76 100644

> --- a/include/odp/drv/spec/driver.h

> +++ b/include/odp/drv/spec/driver.h

> @@ -314,9 +314,12 @@ struct odpdrv_driver_param_t {

>

>         /** Probe function:

>          * Called by ODP to see if the driver can drive a given device

> -        *

> +        * -dev is obviously the device we try to handle.

>


I'd delete "obviously" here. Sounds a bit condescending in a spec. Perhaps
just "-dev the device to be probed"


> +        * -devio is the devio to be used.

> +        * -devio_idx actually tells which devio was selected: it is the

> +        * index in the devios array above.

>          */

> -       int (*probe)(odpdrv_device_t *dev);

> +       int (*probe)(odpdrv_device_t dev, odpdrv_devio_t devio, int

> devio_idx);

>

>         /** unbind function:

>          * Only called with devices whose probe() returned true

> --

> 2.7.4

>

>
Bill Fischofer Feb. 22, 2017, 11:32 p.m. UTC | #2
This series compiles and runs/tests fine using gcc and clang on both 64 and
32 bit systems. Many comments, mostly cosmetic, however some missing field
initializations are noted as well as some suggestions for handling type
conversions.

On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <
christophe.milard@linaro.org> wrote:

> 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

>

>
Yi He Feb. 23, 2017, 10:16 a.m. UTC | #3
In patchwork for this series I saw 14, 16, 21 are missing, do you see the
same problem?

Best Regards, Yi

On 23 February 2017 at 07:32, Bill Fischofer <bill.fischofer@linaro.org>
wrote:

> This series compiles and runs/tests fine using gcc and clang on both 64

> and 32 bit systems. Many comments, mostly cosmetic, however some missing

> field initializations are noted as well as some suggestions for handling

> type conversions.

>

> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

> christophe.milard@linaro.org> wrote:

>

>> 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_sKDvRwUD

>> 2BXm-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/dr

>> v/drvdriver/drvdriver_device.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_device.h

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_device_main.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_devio.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_devio.h

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_devio_main.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_driver.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_driver.h

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_driver_main.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_enumr.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_enumr.h

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_enumr_class.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_enumr_class.h

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_enumr_class_main.c

>>  create mode 100644 test/common_plat/validation/dr

>> v/drvdriver/drvdriver_enumr_main.c

>>

>> --

>> 2.7.4

>>

>>

>
Bill Fischofer Feb. 23, 2017, 4:51 p.m. UTC | #4
I see all the patches in this series on the mailing list, but it appears
that the patchwork series[1] is missing parts 14 and 16.

---
[1] http://patches.opendataplane.org/project/lng-odp/list/?series=65

On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

> In patchwork for this series I saw 14, 16, 21 are missing, do you see the

> same problem?

>

> Best Regards, Yi

>

> On 23 February 2017 at 07:32, Bill Fischofer <bill.fischofer@linaro.org>

> wrote:

>

>> This series compiles and runs/tests fine using gcc and clang on both 64

>> and 32 bit systems. Many comments, mostly cosmetic, however some missing

>> field initializations are noted as well as some suggestions for handling

>> type conversions.

>>

>> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

>> christophe.milard@linaro.org> wrote:

>>

>>> 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_sKDvRwUD

>>> 2BXm-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/dr

>>> v/drvdriver/Makefile.am

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_device.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_device.h

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_device_main.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_devio.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_devio.h

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_devio_main.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_driver.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_driver.h

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_driver_main.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_enumr.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_enumr.h

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_enumr_class.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_enumr_class.h

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_enumr_class_main.c

>>>  create mode 100644 test/common_plat/validation/dr

>>> v/drvdriver/drvdriver_enumr_main.c

>>>

>>> --

>>> 2.7.4

>>>

>>>

>>

>
Josep Puigdemont Feb. 24, 2017, 8:31 a.m. UTC | #5
On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:
> I see all the patches in this series on the mailing list, but it appears

> that the patchwork series[1] is missing parts 14 and 16.


and part 20.

I don't have parts 14, 16, and 20 on my inbox either, and it doesn't look
like they ever reached the list, since they are missing from the
archives too. Part 16/21 in the archives is a reply from you, Bill, so
you definitely got the email (maybe you were cc'd?).

> 

> ---

> [1] http://patches.opendataplane.org/project/lng-odp/list/?series=65

> 

> On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

> 

> > In patchwork for this series I saw 14, 16, 21 are missing, do you see the

> > same problem?

> >

> > Best Regards, Yi

> >

> > On 23 February 2017 at 07:32, Bill Fischofer <bill.fischofer@linaro.org>

> > wrote:

> >

> >> This series compiles and runs/tests fine using gcc and clang on both 64

> >> and 32 bit systems. Many comments, mostly cosmetic, however some missing

> >> field initializations are noted as well as some suggestions for handling

> >> type conversions.

> >>

> >> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

> >> christophe.milard@linaro.org> wrote:

> >>

> >>> 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_sKDvRwUD

> >>> 2BXm-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/dr

> >>> v/drvdriver/Makefile.am

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_device.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_device.h

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_device_main.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_devio.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_devio.h

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_devio_main.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_driver.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_driver.h

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_driver_main.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_enumr.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_enumr.h

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_enumr_class.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_enumr_class.h

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_enumr_class_main.c

> >>>  create mode 100644 test/common_plat/validation/dr

> >>> v/drvdriver/drvdriver_enumr_main.c

> >>>

> >>> --

> >>> 2.7.4

> >>>

> >>>

> >>

> >
Mike Holmes Feb. 24, 2017, 12:15 p.m. UTC | #6
Christophe will be back next week and we can check into where they went. I
will ping Philip if I can prove I got them on CC and the list lost them.

On Feb 24, 2017 3:31 AM, "Josep Puigdemont" <josep.puigdemont@linaro.org>
wrote:

> On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:

> > I see all the patches in this series on the mailing list, but it appears

> > that the patchwork series[1] is missing parts 14 and 16.

>

> and part 20.

>

> I don't have parts 14, 16, and 20 on my inbox either, and it doesn't look

> like they ever reached the list, since they are missing from the

> archives too. Part 16/21 in the archives is a reply from you, Bill, so

> you definitely got the email (maybe you were cc'd?).

>

> >

> > ---

> > [1] http://patches.opendataplane.org/project/lng-odp/list/?series=65

> >

> > On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

> >

> > > In patchwork for this series I saw 14, 16, 21 are missing, do you see

> the

> > > same problem?

> > >

> > > Best Regards, Yi

> > >

> > > On 23 February 2017 at 07:32, Bill Fischofer <

> bill.fischofer@linaro.org>

> > > wrote:

> > >

> > >> This series compiles and runs/tests fine using gcc and clang on both

> 64

> > >> and 32 bit systems. Many comments, mostly cosmetic, however some

> missing

> > >> field initializations are noted as well as some suggestions for

> handling

> > >> type conversions.

> > >>

> > >> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

> > >> christophe.milard@linaro.org> wrote:

> > >>

> > >>> 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_sKDvRwUD

> > >>> 2BXm-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/dr

> > >>> v/drvdriver/Makefile.am

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_device.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_device.h

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_device_main.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_devio.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_devio.h

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_devio_main.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_driver.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_driver.h

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_driver_main.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_enumr.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_enumr.h

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_enumr_class.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_enumr_class.h

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_enumr_class_main.c

> > >>>  create mode 100644 test/common_plat/validation/dr

> > >>> v/drvdriver/drvdriver_enumr_main.c

> > >>>

> > >>> --

> > >>> 2.7.4

> > >>>

> > >>>

> > >>

> > >

>
Bill Fischofer Feb. 24, 2017, 9:55 p.m. UTC | #7
It looks like Christophe sent the original series to Mike, Forrest,
Sachin, Yi, Me, and the odp mailing list. I suspect that's why Mike
and I (and presumably the others on the direct mail list) have a
complete copy of the series. A number of the parts didn't make it
either to patchworks or the ODP mailing list archives, so I suspect
some sort of IT glitch.

On Fri, Feb 24, 2017 at 6:15 AM, Mike Holmes <mike.holmes@linaro.org> wrote:
> Christophe will be back next week and we can check into where they went. I

> will ping Philip if I can prove I got them on CC and the list lost them.

>

> On Feb 24, 2017 3:31 AM, "Josep Puigdemont" <josep.puigdemont@linaro.org>

> wrote:

>>

>> On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:

>> > I see all the patches in this series on the mailing list, but it appears

>> > that the patchwork series[1] is missing parts 14 and 16.

>>

>> and part 20.

>>

>> I don't have parts 14, 16, and 20 on my inbox either, and it doesn't look

>> like they ever reached the list, since they are missing from the

>> archives too. Part 16/21 in the archives is a reply from you, Bill, so

>> you definitely got the email (maybe you were cc'd?).

>>

>> >

>> > ---

>> > [1] http://patches.opendataplane.org/project/lng-odp/list/?series=65

>> >

>> > On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

>> >

>> > > In patchwork for this series I saw 14, 16, 21 are missing, do you see

>> > > the

>> > > same problem?

>> > >

>> > > Best Regards, Yi

>> > >

>> > > On 23 February 2017 at 07:32, Bill Fischofer

>> > > <bill.fischofer@linaro.org>

>> > > wrote:

>> > >

>> > >> This series compiles and runs/tests fine using gcc and clang on both

>> > >> 64

>> > >> and 32 bit systems. Many comments, mostly cosmetic, however some

>> > >> missing

>> > >> field initializations are noted as well as some suggestions for

>> > >> handling

>> > >> type conversions.

>> > >>

>> > >> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

>> > >> christophe.milard@linaro.org> wrote:

>> > >>

>> > >>> 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_sKDvRwUD

>> > >>> 2BXm-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/dr

>> > >>> v/drvdriver/Makefile.am

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_device.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_device.h

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_device_main.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_devio.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_devio.h

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_devio_main.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_driver.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_driver.h

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_driver_main.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_enumr.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_enumr.h

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_enumr_class.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_enumr_class.h

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_enumr_class_main.c

>> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >>> v/drvdriver/drvdriver_enumr_main.c

>> > >>>

>> > >>> --

>> > >>> 2.7.4

>> > >>>

>> > >>>

>> > >>

>> > >
Mike Holmes Feb. 24, 2017, 10:03 p.m. UTC | #8
I did make a ticket for IT to look into this

On 24 February 2017 at 16:55, Bill Fischofer <bill.fischofer@linaro.org>
wrote:

> It looks like Christophe sent the original series to Mike, Forrest,

> Sachin, Yi, Me, and the odp mailing list. I suspect that's why Mike

> and I (and presumably the others on the direct mail list) have a

> complete copy of the series. A number of the parts didn't make it

> either to patchworks or the ODP mailing list archives, so I suspect

> some sort of IT glitch.

>

> On Fri, Feb 24, 2017 at 6:15 AM, Mike Holmes <mike.holmes@linaro.org>

> wrote:

> > Christophe will be back next week and we can check into where they went.

> I

> > will ping Philip if I can prove I got them on CC and the list lost them.

> >

> > On Feb 24, 2017 3:31 AM, "Josep Puigdemont" <josep.puigdemont@linaro.org

> >

> > wrote:

> >>

> >> On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:

> >> > I see all the patches in this series on the mailing list, but it

> appears

> >> > that the patchwork series[1] is missing parts 14 and 16.

> >>

> >> and part 20.

> >>

> >> I don't have parts 14, 16, and 20 on my inbox either, and it doesn't

> look

> >> like they ever reached the list, since they are missing from the

> >> archives too. Part 16/21 in the archives is a reply from you, Bill, so

> >> you definitely got the email (maybe you were cc'd?).

> >>

> >> >

> >> > ---

> >> > [1] http://patches.opendataplane.org/project/lng-odp/list/?series=65

> >> >

> >> > On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

> >> >

> >> > > In patchwork for this series I saw 14, 16, 21 are missing, do you

> see

> >> > > the

> >> > > same problem?

> >> > >

> >> > > Best Regards, Yi

> >> > >

> >> > > On 23 February 2017 at 07:32, Bill Fischofer

> >> > > <bill.fischofer@linaro.org>

> >> > > wrote:

> >> > >

> >> > >> This series compiles and runs/tests fine using gcc and clang on

> both

> >> > >> 64

> >> > >> and 32 bit systems. Many comments, mostly cosmetic, however some

> >> > >> missing

> >> > >> field initializations are noted as well as some suggestions for

> >> > >> handling

> >> > >> type conversions.

> >> > >>

> >> > >> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

> >> > >> christophe.milard@linaro.org> wrote:

> >> > >>

> >> > >>> 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_sKDvRwUD

> >> > >>> 2BXm-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/dr

> >> > >>> v/drvdriver/Makefile.am

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_device.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_device.h

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_device_main.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_devio.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_devio.h

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_devio_main.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_driver.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_driver.h

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_driver_main.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_enumr.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_enumr.h

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_enumr_class.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_enumr_class.h

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_enumr_class_main.c

> >> > >>>  create mode 100644 test/common_plat/validation/dr

> >> > >>> v/drvdriver/drvdriver_enumr_main.c

> >> > >>>

> >> > >>> --

> >> > >>> 2.7.4

> >> > >>>

> >> > >>>

> >> > >>

> >> > >

>




-- 
Mike Holmes
Engineering Director, Core Development
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"
Maxim Uvarov Feb. 27, 2017, 9:15 a.m. UTC | #9
for big serries of patches >20  it's good to provide some git link to
download all of that. That Might be Linaro's people git or github.

Maxim.

On 25 February 2017 at 01:03, Mike Holmes <mike.holmes@linaro.org> wrote:

> I did make a ticket for IT to look into this

>

> On 24 February 2017 at 16:55, Bill Fischofer <bill.fischofer@linaro.org>

> wrote:

>

> > It looks like Christophe sent the original series to Mike, Forrest,

> > Sachin, Yi, Me, and the odp mailing list. I suspect that's why Mike

> > and I (and presumably the others on the direct mail list) have a

> > complete copy of the series. A number of the parts didn't make it

> > either to patchworks or the ODP mailing list archives, so I suspect

> > some sort of IT glitch.

> >

> > On Fri, Feb 24, 2017 at 6:15 AM, Mike Holmes <mike.holmes@linaro.org>

> > wrote:

> > > Christophe will be back next week and we can check into where they

> went.

> > I

> > > will ping Philip if I can prove I got them on CC and the list lost

> them.

> > >

> > > On Feb 24, 2017 3:31 AM, "Josep Puigdemont" <

> josep.puigdemont@linaro.org

> > >

> > > wrote:

> > >>

> > >> On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:

> > >> > I see all the patches in this series on the mailing list, but it

> > appears

> > >> > that the patchwork series[1] is missing parts 14 and 16.

> > >>

> > >> and part 20.

> > >>

> > >> I don't have parts 14, 16, and 20 on my inbox either, and it doesn't

> > look

> > >> like they ever reached the list, since they are missing from the

> > >> archives too. Part 16/21 in the archives is a reply from you, Bill, so

> > >> you definitely got the email (maybe you were cc'd?).

> > >>

> > >> >

> > >> > ---

> > >> > [1] http://patches.opendataplane.org/project/lng-odp/list/?

> series=65

> > >> >

> > >> > On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

> > >> >

> > >> > > In patchwork for this series I saw 14, 16, 21 are missing, do you

> > see

> > >> > > the

> > >> > > same problem?

> > >> > >

> > >> > > Best Regards, Yi

> > >> > >

> > >> > > On 23 February 2017 at 07:32, Bill Fischofer

> > >> > > <bill.fischofer@linaro.org>

> > >> > > wrote:

> > >> > >

> > >> > >> This series compiles and runs/tests fine using gcc and clang on

> > both

> > >> > >> 64

> > >> > >> and 32 bit systems. Many comments, mostly cosmetic, however some

> > >> > >> missing

> > >> > >> field initializations are noted as well as some suggestions for

> > >> > >> handling

> > >> > >> type conversions.

> > >> > >>

> > >> > >> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

> > >> > >> christophe.milard@linaro.org> wrote:

> > >> > >>

> > >> > >>> 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_sKDvRwUD

> > >> > >>> 2BXm-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/dr

> > >> > >>> v/drvdriver/Makefile.am

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_device.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_device.h

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_device_main.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_devio.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_devio.h

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_devio_main.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_driver.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_driver.h

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_driver_main.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_enumr.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_enumr.h

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_enumr_class.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_enumr_class.h

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_enumr_class_main.c

> > >> > >>>  create mode 100644 test/common_plat/validation/dr

> > >> > >>> v/drvdriver/drvdriver_enumr_main.c

> > >> > >>>

> > >> > >>> --

> > >> > >>> 2.7.4

> > >> > >>>

> > >> > >>>

> > >> > >>

> > >> > >

> >

>

>

>

> --

> Mike Holmes

> Engineering Director, Core Development

> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs

> "Work should be fun and collaborative, the rest follows"

>
Christophe Milard Feb. 27, 2017, 9:54 a.m. UTC | #10
Hi all,

Maxim, are you saying you prefer a pull request?
Last time I did one, you required the patch to be sent on the list, so
I am not sure what to do next time.

Thx,

Christophe.

On 27 February 2017 at 10:15, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:
> for big serries of patches >20  it's good to provide some git link to

> download all of that. That Might be Linaro's people git or github.

>

> Maxim.

>

> On 25 February 2017 at 01:03, Mike Holmes <mike.holmes@linaro.org> wrote:

>

>> I did make a ticket for IT to look into this

>>

>> On 24 February 2017 at 16:55, Bill Fischofer <bill.fischofer@linaro.org>

>> wrote:

>>

>> > It looks like Christophe sent the original series to Mike, Forrest,

>> > Sachin, Yi, Me, and the odp mailing list. I suspect that's why Mike

>> > and I (and presumably the others on the direct mail list) have a

>> > complete copy of the series. A number of the parts didn't make it

>> > either to patchworks or the ODP mailing list archives, so I suspect

>> > some sort of IT glitch.

>> >

>> > On Fri, Feb 24, 2017 at 6:15 AM, Mike Holmes <mike.holmes@linaro.org>

>> > wrote:

>> > > Christophe will be back next week and we can check into where they

>> went.

>> > I

>> > > will ping Philip if I can prove I got them on CC and the list lost

>> them.

>> > >

>> > > On Feb 24, 2017 3:31 AM, "Josep Puigdemont" <

>> josep.puigdemont@linaro.org

>> > >

>> > > wrote:

>> > >>

>> > >> On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:

>> > >> > I see all the patches in this series on the mailing list, but it

>> > appears

>> > >> > that the patchwork series[1] is missing parts 14 and 16.

>> > >>

>> > >> and part 20.

>> > >>

>> > >> I don't have parts 14, 16, and 20 on my inbox either, and it doesn't

>> > look

>> > >> like they ever reached the list, since they are missing from the

>> > >> archives too. Part 16/21 in the archives is a reply from you, Bill, so

>> > >> you definitely got the email (maybe you were cc'd?).

>> > >>

>> > >> >

>> > >> > ---

>> > >> > [1] http://patches.opendataplane.org/project/lng-odp/list/?

>> series=65

>> > >> >

>> > >> > On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

>> > >> >

>> > >> > > In patchwork for this series I saw 14, 16, 21 are missing, do you

>> > see

>> > >> > > the

>> > >> > > same problem?

>> > >> > >

>> > >> > > Best Regards, Yi

>> > >> > >

>> > >> > > On 23 February 2017 at 07:32, Bill Fischofer

>> > >> > > <bill.fischofer@linaro.org>

>> > >> > > wrote:

>> > >> > >

>> > >> > >> This series compiles and runs/tests fine using gcc and clang on

>> > both

>> > >> > >> 64

>> > >> > >> and 32 bit systems. Many comments, mostly cosmetic, however some

>> > >> > >> missing

>> > >> > >> field initializations are noted as well as some suggestions for

>> > >> > >> handling

>> > >> > >> type conversions.

>> > >> > >>

>> > >> > >> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

>> > >> > >> christophe.milard@linaro.org> wrote:

>> > >> > >>

>> > >> > >>> 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_sKDvRwUD

>> > >> > >>> 2BXm-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/dr

>> > >> > >>> v/drvdriver/Makefile.am

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_device.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_device.h

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_device_main.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_devio.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_devio.h

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_devio_main.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_driver.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_driver.h

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_driver_main.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_enumr.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_enumr.h

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_enumr_class.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_enumr_class.h

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_enumr_class_main.c

>> > >> > >>>  create mode 100644 test/common_plat/validation/dr

>> > >> > >>> v/drvdriver/drvdriver_enumr_main.c

>> > >> > >>>

>> > >> > >>> --

>> > >> > >>> 2.7.4

>> > >> > >>>

>> > >> > >>>

>> > >> > >>

>> > >> > >

>> >

>>

>>

>>

>> --

>> Mike Holmes

>> Engineering Director, Core Development

>> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs

>> "Work should be fun and collaborative, the rest follows"

>>
Maxim Uvarov Feb. 27, 2017, 1:19 p.m. UTC | #11
On 02/27/17 12:54, Christophe Milard wrote:
> Hi all,

> 

> Maxim, are you saying you prefer a pull request?

> Last time I did one, you required the patch to be sent on the list, so

> I am not sure what to do next time.

> 

> Thx,

> 

> Christophe.



I mean that you can include pull request link to cover letter. If
somebody will miss some patch he can download it with that link.

Maxim.

> 

> On 27 February 2017 at 10:15, Maxim Uvarov <maxim.uvarov@linaro.org> wrote:

>> for big serries of patches >20  it's good to provide some git link to

>> download all of that. That Might be Linaro's people git or github.

>>

>> Maxim.

>>

>> On 25 February 2017 at 01:03, Mike Holmes <mike.holmes@linaro.org> wrote:

>>

>>> I did make a ticket for IT to look into this

>>>

>>> On 24 February 2017 at 16:55, Bill Fischofer <bill.fischofer@linaro.org>

>>> wrote:

>>>

>>>> It looks like Christophe sent the original series to Mike, Forrest,

>>>> Sachin, Yi, Me, and the odp mailing list. I suspect that's why Mike

>>>> and I (and presumably the others on the direct mail list) have a

>>>> complete copy of the series. A number of the parts didn't make it

>>>> either to patchworks or the ODP mailing list archives, so I suspect

>>>> some sort of IT glitch.

>>>>

>>>> On Fri, Feb 24, 2017 at 6:15 AM, Mike Holmes <mike.holmes@linaro.org>

>>>> wrote:

>>>>> Christophe will be back next week and we can check into where they

>>> went.

>>>> I

>>>>> will ping Philip if I can prove I got them on CC and the list lost

>>> them.

>>>>>

>>>>> On Feb 24, 2017 3:31 AM, "Josep Puigdemont" <

>>> josep.puigdemont@linaro.org

>>>>>

>>>>> wrote:

>>>>>>

>>>>>> On Thu, Feb 23, 2017 at 10:51:27AM -0600, Bill Fischofer wrote:

>>>>>>> I see all the patches in this series on the mailing list, but it

>>>> appears

>>>>>>> that the patchwork series[1] is missing parts 14 and 16.

>>>>>>

>>>>>> and part 20.

>>>>>>

>>>>>> I don't have parts 14, 16, and 20 on my inbox either, and it doesn't

>>>> look

>>>>>> like they ever reached the list, since they are missing from the

>>>>>> archives too. Part 16/21 in the archives is a reply from you, Bill, so

>>>>>> you definitely got the email (maybe you were cc'd?).

>>>>>>

>>>>>>>

>>>>>>> ---

>>>>>>> [1] http://patches.opendataplane.org/project/lng-odp/list/?

>>> series=65

>>>>>>>

>>>>>>> On Thu, Feb 23, 2017 at 4:16 AM, Yi He <yi.he@linaro.org> wrote:

>>>>>>>

>>>>>>>> In patchwork for this series I saw 14, 16, 21 are missing, do you

>>>> see

>>>>>>>> the

>>>>>>>> same problem?

>>>>>>>>

>>>>>>>> Best Regards, Yi

>>>>>>>>

>>>>>>>> On 23 February 2017 at 07:32, Bill Fischofer

>>>>>>>> <bill.fischofer@linaro.org>

>>>>>>>> wrote:

>>>>>>>>

>>>>>>>>> This series compiles and runs/tests fine using gcc and clang on

>>>> both

>>>>>>>>> 64

>>>>>>>>> and 32 bit systems. Many comments, mostly cosmetic, however some

>>>>>>>>> missing

>>>>>>>>> field initializations are noted as well as some suggestions for

>>>>>>>>> handling

>>>>>>>>> type conversions.

>>>>>>>>>

>>>>>>>>> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard <

>>>>>>>>> christophe.milard@linaro.org> wrote:

>>>>>>>>>

>>>>>>>>>> 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_sKDvRwUD

>>>>>>>>>> 2BXm-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/dr

>>>>>>>>>> v/drvdriver/Makefile.am

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_device.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_device.h

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_device_main.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_devio.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_devio.h

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_devio_main.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_driver.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_driver.h

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_driver_main.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_enumr.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_enumr.h

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_enumr_class.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_enumr_class.h

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_enumr_class_main.c

>>>>>>>>>>  create mode 100644 test/common_plat/validation/dr

>>>>>>>>>> v/drvdriver/drvdriver_enumr_main.c

>>>>>>>>>>

>>>>>>>>>> --

>>>>>>>>>> 2.7.4

>>>>>>>>>>

>>>>>>>>>>

>>>>>>>>>

>>>>>>>>

>>>>

>>>

>>>

>>>

>>> --

>>> Mike Holmes

>>> Engineering Director, Core Development

>>> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs

>>> "Work should be fun and collaborative, the rest follows"

>>>
Christophe Milard Feb. 27, 2017, 2:04 p.m. UTC | #12
On 23 February 2017 at 00:00, Bill Fischofer <bill.fischofer@linaro.org> wrote:
>

>

> On Wed, Feb 22, 2017 at 6:55 AM, Christophe Milard

> <christophe.milard@linaro.org> wrote:

>>

>> Of course, when probing a driver, the latter should be given the devio

>> handle to be used. This is what this patch adds. It also adds the index

>> of the devio, hence telling the driver which of the possible

>> ODPDRV_MAX_DEVIOS devios was selected, as this is going to be the first

>> thing the driver needs to know.

>>

>> Signed-off-by: Christophe Milard <christophe.milard@linaro.org>

>> ---

>>  include/odp/drv/spec/driver.h | 7 +++++--

>>  1 file changed, 5 insertions(+), 2 deletions(-)

>>

>> diff --git a/include/odp/drv/spec/driver.h b/include/odp/drv/spec/driver.h

>> index 221a6ce..b3c9b76 100644

>> --- a/include/odp/drv/spec/driver.h

>> +++ b/include/odp/drv/spec/driver.h

>> @@ -314,9 +314,12 @@ struct odpdrv_driver_param_t {

>>

>>         /** Probe function:

>>          * Called by ODP to see if the driver can drive a given device

>> -        *

>> +        * -dev is obviously the device we try to handle.

>

>

> I'd delete "obviously" here. Sounds a bit condescending in a spec. Perhaps

> just "-dev the device to be probed"


OK: => V2

Christophe

>

>>

>> +        * -devio is the devio to be used.

>> +        * -devio_idx actually tells which devio was selected: it is the

>> +        * index in the devios array above.

>>          */

>> -       int (*probe)(odpdrv_device_t *dev);

>> +       int (*probe)(odpdrv_device_t dev, odpdrv_devio_t devio, int

>> devio_idx);

>>

>>         /** unbind function:

>>          * Only called with devices whose probe() returned true

>> --

>> 2.7.4

>>

>