mbox series

[v2,0/7] Enhance rawdev APIs

Message ID 20200813112806.164578-1-bruce.richardson@intel.com (mailing list archive)
Headers
Series Enhance rawdev APIs |

Message

Bruce Richardson Aug. 13, 2020, 11:27 a.m. UTC
  This patchset proposes some internal and externally-visible changes to the
rawdev API, the ABI change of which were previously announced.

The changes are in two main areas:
* For any APIs which take a void * parameter for driver-specific structs,
  add an additional parameter to provide the struct length. This allows
  some runtime type-checking, as well as possible ABI-compatibility support
  in the future as structure change generally involve a change in the size
  of the structure.
* Ensure all APIs which can return error values have int type, rather than
  void. Since functions like info_get and queue_default_get can now do some
  typechecking, they need to be modified to allow them to return error
  codes on failure.

V2:
  - add additional patch to make start/stop functions optional
  - remove deprecation notice once changes applied

Bruce Richardson (7):
  rawdev: add private data length parameter to info fn
  rawdev: allow drivers to return error from info function
  rawdev: add private data length parameter to config fn
  rawdev: add private data length parameter to queue fns
  rawdev: allow queue default config query to return error
  rawdev: mark start and stop functions optional
  doc: remove rawdev deprecation notice

 app/test/test_rawdev.c                      |  2 +-
 doc/guides/rawdevs/ioat.rst                 |  4 +-
 doc/guides/rawdevs/octeontx2_dma.rst        |  2 +-
 doc/guides/rawdevs/octeontx2_ep.rst         |  3 +-
 doc/guides/rel_notes/deprecation.rst        |  7 ---
 doc/guides/sample_app_ug/ioat.rst           |  4 +-
 drivers/bus/ifpga/ifpga_bus.c               |  2 +-
 drivers/raw/ifpga/ifpga_rawdev.c            | 23 +++++-----
 drivers/raw/ioat/ioat_rawdev.c              | 17 ++++---
 drivers/raw/ioat/ioat_rawdev_test.c         |  6 +--
 drivers/raw/ntb/ntb.c                       | 49 ++++++++++++++++-----
 drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c |  7 +--
 drivers/raw/octeontx2_dma/otx2_dpi_test.c   |  3 +-
 drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   |  7 +--
 drivers/raw/octeontx2_ep/otx2_ep_test.c     |  2 +-
 drivers/raw/skeleton/skeleton_rawdev.c      | 36 +++++++++------
 drivers/raw/skeleton/skeleton_rawdev_test.c | 32 ++++++++------
 examples/ioat/ioatfwd.c                     |  4 +-
 examples/ntb/ntb_fwd.c                      |  7 +--
 lib/librte_rawdev/rte_rawdev.c              | 47 +++++++++++++-------
 lib/librte_rawdev/rte_rawdev.h              | 27 ++++++++++--
 lib/librte_rawdev/rte_rawdev_pmd.h          | 22 ++++++---
 22 files changed, 201 insertions(+), 112 deletions(-)
  

Comments

Nipun Gupta Sept. 2, 2020, 11:21 a.m. UTC | #1
Series
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, August 13, 2020 4:58 PM
> To: Nipun Gupta <nipun.gupta@nxp.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Cc: dev@dpdk.org; Bruce Richardson <bruce.richardson@intel.com>
> Subject: [PATCH v2 0/7] Enhance rawdev APIs
> 
> This patchset proposes some internal and externally-visible changes to the
> rawdev API, the ABI change of which were previously announced.
> 
> The changes are in two main areas:
> * For any APIs which take a void * parameter for driver-specific structs,
>   add an additional parameter to provide the struct length. This allows
>   some runtime type-checking, as well as possible ABI-compatibility support
>   in the future as structure change generally involve a change in the size
>   of the structure.
> * Ensure all APIs which can return error values have int type, rather than
>   void. Since functions like info_get and queue_default_get can now do some
>   typechecking, they need to be modified to allow them to return error
>   codes on failure.
> 
> V2:
>   - add additional patch to make start/stop functions optional
>   - remove deprecation notice once changes applied
> 
> Bruce Richardson (7):
>   rawdev: add private data length parameter to info fn
>   rawdev: allow drivers to return error from info function
>   rawdev: add private data length parameter to config fn
>   rawdev: add private data length parameter to queue fns
>   rawdev: allow queue default config query to return error
>   rawdev: mark start and stop functions optional
>   doc: remove rawdev deprecation notice
> 
>  app/test/test_rawdev.c                      |  2 +-
>  doc/guides/rawdevs/ioat.rst                 |  4 +-
>  doc/guides/rawdevs/octeontx2_dma.rst        |  2 +-
>  doc/guides/rawdevs/octeontx2_ep.rst         |  3 +-
>  doc/guides/rel_notes/deprecation.rst        |  7 ---
>  doc/guides/sample_app_ug/ioat.rst           |  4 +-
>  drivers/bus/ifpga/ifpga_bus.c               |  2 +-
>  drivers/raw/ifpga/ifpga_rawdev.c            | 23 +++++-----
>  drivers/raw/ioat/ioat_rawdev.c              | 17 ++++---
>  drivers/raw/ioat/ioat_rawdev_test.c         |  6 +--
>  drivers/raw/ntb/ntb.c                       | 49 ++++++++++++++++-----
>  drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c |  7 +--
>  drivers/raw/octeontx2_dma/otx2_dpi_test.c   |  3 +-
>  drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   |  7 +--
>  drivers/raw/octeontx2_ep/otx2_ep_test.c     |  2 +-
>  drivers/raw/skeleton/skeleton_rawdev.c      | 36 +++++++++------
>  drivers/raw/skeleton/skeleton_rawdev_test.c | 32 ++++++++------
>  examples/ioat/ioatfwd.c                     |  4 +-
>  examples/ntb/ntb_fwd.c                      |  7 +--
>  lib/librte_rawdev/rte_rawdev.c              | 47 +++++++++++++-------
>  lib/librte_rawdev/rte_rawdev.h              | 27 ++++++++++--
>  lib/librte_rawdev/rte_rawdev_pmd.h          | 22 ++++++---
>  22 files changed, 201 insertions(+), 112 deletions(-)
> 
> --
> 2.25.1
  
Thomas Monjalon Sept. 9, 2020, 9:47 a.m. UTC | #2
>  app/test/test_rawdev.c                      |  2 +-
>  doc/guides/rawdevs/ioat.rst                 |  4 +-
>  doc/guides/rawdevs/octeontx2_dma.rst        |  2 +-
>  doc/guides/rawdevs/octeontx2_ep.rst         |  3 +-
>  doc/guides/rel_notes/deprecation.rst        |  7 ---
>  doc/guides/sample_app_ug/ioat.rst           |  4 +-
>  drivers/bus/ifpga/ifpga_bus.c               |  2 +-
>  drivers/raw/ifpga/ifpga_rawdev.c            | 23 +++++-----
>  drivers/raw/ioat/ioat_rawdev.c              | 17 ++++---
>  drivers/raw/ioat/ioat_rawdev_test.c         |  6 +--
>  drivers/raw/ntb/ntb.c                       | 49 ++++++++++++++++-----
>  drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c |  7 +--
>  drivers/raw/octeontx2_dma/otx2_dpi_test.c   |  3 +-
>  drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   |  7 +--
>  drivers/raw/octeontx2_ep/otx2_ep_test.c     |  2 +-
>  drivers/raw/skeleton/skeleton_rawdev.c      | 36 +++++++++------
>  drivers/raw/skeleton/skeleton_rawdev_test.c | 32 ++++++++------
>  examples/ioat/ioatfwd.c                     |  4 +-
>  examples/ntb/ntb_fwd.c                      |  7 +--
>  lib/librte_rawdev/rte_rawdev.c              | 47 +++++++++++++-------
>  lib/librte_rawdev/rte_rawdev.h              | 27 ++++++++++--
>  lib/librte_rawdev/rte_rawdev_pmd.h          | 22 ++++++---
>  22 files changed, 201 insertions(+), 112 deletions(-)

It is missing updates of the release notes in each patch changing the API.