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(-) -- 2.25.1