Hi, This patchset adds support for selftests in the devlink framework. It adds a callback .selftests_show and .selftests_run in devlink_ops. User can provide test(s) suite as a testmask and subsequently it is passed to the driver which can opt for running particular tests based on its capabilities. Patchset adds a flash based test for the bnxt_en driver. Suggested commands at user level would be as below: $ devlink dev selftests run pci/0000:03:00.0 test flash results: flash test : failed $ devlink dev selftests show pci/0000:03:00.0 device suuports: flash test Thanks, Vikas Vikas Gupta (3): devlink: introduce framework for selftests bnxt_en: refactor NVM APIs bnxt_en: implement callbacks for devlink selftests .../networking/devlink/devlink-selftests.rst | 39 +++++ .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 66 ++++++++ .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 24 +-- .../net/ethernet/broadcom/bnxt/bnxt_ethtool.h | 12 ++ include/net/devlink.h | 40 +++++ include/uapi/linux/devlink.h | 24 +++ net/core/devlink.c | 147 ++++++++++++++++++ 7 files changed, 340 insertions(+), 12 deletions(-) create mode 100644 Documentation/networking/devlink/devlink-selftests.rst -- 2.31.1