Changes since v3: * Using union instead of void * to pass parameter values to/from drivers. * Updated parameter comments / naming and added enum for enable/disable to add clarity. * Various code cleanup in bnxt: - change hwrm call to use mutex protected version - use roundup() macro - remove unnecessary error messages - change mechanism to check for parameter-not-found - cleanup merge w/ switchdev eswitch devlink functions - rebased with Michael Chan's recent bnxt changes in net-next.
Suggested changes not implemented: * re: val8 = val32 "Don't you need explicit castings for these kind of assignments to prevent warnings?" -- No, I don't think explicit castings are necessary here; I don't get any compiler warnings (w/ gcc 5.4.0) -- Adds a devlink command for getting & setting permanent / persistent device configuration parameters, and enumerates the parameters as nested devlink attributes. Steve Lin (10): devlink: Add permanent config parameter get/set operations devlink: Adding SR-IOV enablement perm config param devlink: Adding num VFs per PF permanent config param devlink: Adding max PF MSI-X vectors perm config param devlink: Adding num MSI-X vectors per VF perm config param bnxt: Add devlink support for config get/set bnxt: Adding SR-IOV enablement permanent cfg param bnxt: Adding num VFs per PF perm config param bnxt: Adding max PF MSI-X vectors perm config param bnxt: Adding num MSI-X vectors per VF perm config param drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 277 +++++++++++++++++++- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | 17 ++ include/net/devlink.h | 7 + include/uapi/linux/devlink.h | 49 ++++ net/core/devlink.c | 291 ++++++++++++++++++++++ 5 files changed, 629 insertions(+), 12 deletions(-) -- 2.7.4