1Linux Devlink Documentation 2=========================== 3 4devlink is an API to expose device information and resources not directly 5related to any device class, such as chip-wide/switch-ASIC-wide configuration. 6 7Locking 8------- 9 10Driver facing APIs are currently transitioning to allow more explicit 11locking. Drivers can use the existing ``devlink_*`` set of APIs, or 12new APIs prefixed by ``devl_*``. The older APIs handle all the locking 13in devlink core, but don't allow registration of most sub-objects once 14the main devlink object is itself registered. The newer ``devl_*`` APIs assume 15the devlink instance lock is already held. Drivers can take the instance 16lock by calling ``devl_lock()``. It is also held all callbacks of devlink 17netlink commands. 18 19Drivers are encouraged to use the devlink instance lock for their own needs. 20 21Interface documentation 22----------------------- 23 24The following pages describe various interfaces available through devlink in 25general. 26 27.. toctree:: 28 :maxdepth: 1 29 30 devlink-dpipe 31 devlink-health 32 devlink-info 33 devlink-flash 34 devlink-params 35 devlink-port 36 devlink-region 37 devlink-resource 38 devlink-reload 39 devlink-selftests 40 devlink-trap 41 devlink-linecard 42 43Driver-specific documentation 44----------------------------- 45 46Each driver that implements ``devlink`` is expected to document what 47parameters, info versions, and other features it supports. 48 49.. toctree:: 50 :maxdepth: 1 51 52 bnxt 53 etas_es58x 54 hns3 55 ionic 56 ice 57 mlx4 58 mlx5 59 mlxsw 60 mv88e6xxx 61 netdevsim 62 nfp 63 qed 64 ti-cpsw-switch 65 am65-nuss-cpsw-switch 66 prestera 67 iosm 68 octeontx2 69