v2: rebase + fix coverity issue. These patches rearrange the management of the devargs on two different levels.
The first splits the net driver's devargs into two categories, device-dependent devargs and port-dependent devargs. Arguments that depend on the device are updated once in the creation of the shared device context structure, and do not change even if the user has sent new devargs in the probe again. In contrast, the arguments that depend on the port are updated separately for each port. The second layer deals with the parsing of devargs in the common driver. The common driver once parses the devargs into a dictionary, then sends it to all the drivers that will use it during the their probing. Each driver updates within dictionary which keys it has used, then the common driver checks the updated dictionary and reports about unknown devargs. Michael Baum (20): net/mlx5: fix wrong check sibling device config mismatch net/mlx5: fix ineffective metadata argument adjustment net/mlx5: fix wrong place of ASO CT object release net/mlx5: fix inconsistency errno update in SH creation net/mlx5: remove declaration duplications net/mlx5: remove checking devargs duplication net/mlx5: remove HCA attr structure duplication net/mlx5: remove DevX flag duplication net/mlx5: remove Verbs query device duplication common/mlx5: share VF checking function net/mlx5: share realtime timestamp configure net/mlx5: share counter config function net/mlx5: add E-switch mode flag net/mlx5: rearrange device attribute structure net/mlx5: concentrate all device configurations net/mlx5: add share device context config structure net/mlx5: using function to detect operation by DevX net/mlx5: separate per port configuration common/mlx5: add check for common devargs in probing again common/mlx5: refactor devargs management drivers/common/mlx5/mlx5_common.c | 345 +++++++-- drivers/common/mlx5/mlx5_common.h | 51 +- drivers/common/mlx5/mlx5_common_pci.c | 18 + drivers/common/mlx5/version.map | 3 + drivers/compress/mlx5/mlx5_compress.c | 38 +- drivers/crypto/mlx5/mlx5_crypto.c | 39 +- drivers/net/mlx5/linux/mlx5_flow_os.c | 3 +- drivers/net/mlx5/linux/mlx5_os.c | 887 +++++++++--------------- drivers/net/mlx5/linux/mlx5_verbs.c | 9 +- drivers/net/mlx5/linux/mlx5_vlan_os.c | 3 +- drivers/net/mlx5/mlx5.c | 872 +++++++++++++++++------ drivers/net/mlx5/mlx5.h | 216 +++--- drivers/net/mlx5/mlx5_devx.c | 19 +- drivers/net/mlx5/mlx5_ethdev.c | 31 +- drivers/net/mlx5/mlx5_flow.c | 50 +- drivers/net/mlx5/mlx5_flow.h | 2 +- drivers/net/mlx5/mlx5_flow_dv.c | 93 ++- drivers/net/mlx5/mlx5_flow_flex.c | 4 +- drivers/net/mlx5/mlx5_flow_meter.c | 14 +- drivers/net/mlx5/mlx5_rxmode.c | 8 +- drivers/net/mlx5/mlx5_rxq.c | 49 +- drivers/net/mlx5/mlx5_trigger.c | 35 +- drivers/net/mlx5/mlx5_tx.c | 2 +- drivers/net/mlx5/mlx5_txpp.c | 14 +- drivers/net/mlx5/mlx5_txq.c | 62 +- drivers/net/mlx5/mlx5_vlan.c | 4 +- drivers/net/mlx5/windows/mlx5_flow_os.c | 2 +- drivers/net/mlx5/windows/mlx5_os.c | 342 +++------ drivers/regex/mlx5/mlx5_regex.c | 3 +- drivers/vdpa/mlx5/mlx5_vdpa.c | 32 +- 30 files changed, 1842 insertions(+), 1408 deletions(-) -- 2.25.1