Vadim says: The minimal driver is chip independent and uses I2C bus for chip access. Its purpose is to support chassis management on systems equipped with Mellanox switch ASICs. For example, from a BMC (Board Management Controller) device.
Patches #1-#3 add ethtool support to the minimal driver so that QSFP/SFP module info could be retrieved by the driver. This is done by exposing a dummy netdev for each front panel port and implementing the required ethtool operations. Patches #4-#8 add resource query support. This allows the driver to query the firmware about values of certain resources (e.g., maximum number of ports). It is required on systems where the maximum number of ports is larger than the hard coded default (64). Vadim Pasternak (8): mlxsw: core: Move ethtool module callbacks to a common location mlxsw: minimal: Make structures and variables names shorter mlxsw: minimal: Add ethtool support mlxsw: core: Move resource query API to common location mlxsw: i2c: Fix comment misspelling mlxsw: i2c: Modify input parameter name in initialization API mlxsw: i2c: Extend input parameters list of command API mlxsw: i2c: Extend initialization by querying resources data drivers/net/ethernet/mellanox/mlxsw/core.c | 37 ++ drivers/net/ethernet/mellanox/mlxsw/core.h | 2 + .../net/ethernet/mellanox/mlxsw/core_env.c | 121 ++++++ .../net/ethernet/mellanox/mlxsw/core_env.h | 7 + drivers/net/ethernet/mellanox/mlxsw/i2c.c | 136 +++++-- drivers/net/ethernet/mellanox/mlxsw/minimal.c | 361 +++++++++++++++++- drivers/net/ethernet/mellanox/mlxsw/pci.c | 38 +- .../net/ethernet/mellanox/mlxsw/spectrum.c | 118 +----- 8 files changed, 634 insertions(+), 186 deletions(-) -- 2.20.1