aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlxsw/i2c.c
diff options
context:
space:
mode:
authorVadim Pasternak <vadimp@mellanox.com>2019-05-29 11:47:15 +0300
committerDavid S. Miller <davem@davemloft.net>2019-05-30 12:59:46 -0700
commit9bbd7efbc055b31b0e836936da94791c8890af4b (patch)
treef7cb65bf82fb69660c3650d3fc4fff2c762a83e5 /drivers/net/ethernet/mellanox/mlxsw/i2c.c
parentMerge branch 'net-stmmac-selftests-Two-fixes' (diff)
downloadlinux-dev-9bbd7efbc055b31b0e836936da94791c8890af4b.tar.xz
linux-dev-9bbd7efbc055b31b0e836936da94791c8890af4b.zip
mlxsw: i2c: Extend initialization with querying firmware info
Extend initialization flow with query request for firmware info in order to obtain firmware version info. This info is to be provided to minimal driver to support ethtool get_drvinfo() interface. Signed-off-by: Vadim Pasternak <vadimp@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/i2c.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/i2c.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/i2c.c b/drivers/net/ethernet/mellanox/mlxsw/i2c.c
index 06aea1999518..803ce9623205 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/i2c.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/i2c.c
@@ -509,8 +509,20 @@ mlxsw_i2c_init(void *bus_priv, struct mlxsw_core *mlxsw_core,
if (!mbox)
return -ENOMEM;
+ err = mlxsw_cmd_query_fw(mlxsw_core, mbox);
+ if (err)
+ goto mbox_put;
+
+ mlxsw_i2c->bus_info.fw_rev.major =
+ mlxsw_cmd_mbox_query_fw_fw_rev_major_get(mbox);
+ mlxsw_i2c->bus_info.fw_rev.minor =
+ mlxsw_cmd_mbox_query_fw_fw_rev_minor_get(mbox);
+ mlxsw_i2c->bus_info.fw_rev.subminor =
+ mlxsw_cmd_mbox_query_fw_fw_rev_subminor_get(mbox);
+
err = mlxsw_core_resources_query(mlxsw_core, mbox, res);
+mbox_put:
mlxsw_cmd_mbox_free(mbox);
return err;
}