Update the current driver adaptation and usage method, from fixed use of Hisilicon device driver to automatic registration of the driver according to the algorithm.
When the algorithm API layer uses the driver, it is no longer bound to the fixed device driver, but dynamically obtained and stored according to the algorithm query to use.
Update the driver and API layer of the zip and sec module, keep the function of the init interface unchanged, update the implementation of the init2 interface and match the dynamic loading function.
Changes v3 -> v4: - Remove the template instance code of cipher. - Split the scheduler code into a separate patch.
Changes v2 -> v3: - Add dynamic library file search function - Fix some memory handling issues
Changes v1 -> v2: - Fixed the compatibility method with the previous library file loading
Longfang Liu (5): uadk: Add driver dynamic loading function uadk: update scheduler for dynamic loading uadk: improve the dynamic loading public framework uadk: added ability to query supported algorithms uadk/zip: Adapt the zip module to the dynamic loading framework
Makefile.am | 4 +- drv/hisi_comp.c | 59 +++- include/drv/wd_comp_drv.h | 27 -- include/wd.h | 12 + include/wd_alg.h | 95 +++++++ include/wd_alg_common.h | 11 + include/wd_sched.h | 6 +- include/wd_util.h | 63 ++++- libwd.map | 8 + wd.c | 56 +++- wd_alg.c | 265 ++++++++++++++++++ wd_comp.c | 293 +++++++++++--------- wd_sched.c | 181 ++++++++++++- wd_util.c | 547 +++++++++++++++++++++++++++++++++++++- 14 files changed, 1448 insertions(+), 179 deletions(-) create mode 100644 include/wd_alg.h create mode 100644 wd_alg.c