mbox series

[v3,0/7] Enhance rawdev APIs

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

Message

Bruce Richardson Sept. 10, 2020, 2:36 p.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.

V3:
  - fix doxygen error
  - add release note update for changes to public APIs
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 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/rel_notes/release_20_11.rst      |  9 ++++
 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 ++++++---
 23 files changed, 210 insertions(+), 112 deletions(-)
  

Comments

Thomas Monjalon Sept. 11, 2020, 9:56 a.m. UTC | #1
Bruce Richardson <bruce.richardson@intel.com> wrote:
> 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.
> 
> V3:
>   - fix doxygen error
>   - add release note update for changes to public APIs
> 
> V2:
>   - add additional patch to make start/stop functions optional
>   - remove deprecation notice once changes applied

Applied, thanks