From 3b9c7029a7d6ee0876c5481db11947d57792cdd5 Mon Sep 17 00:00:00 2001 From: Ioana Ciornei Date: Tue, 14 Jul 2020 16:34:30 +0300 Subject: [PATCH] staging: dpaa2-ethsw: store version information of the DPSW object Store the major and minor versions of the DPSW object in the ethsw structure. This will be used in a subsequent patch to make sure some commands are only called on the appropriate version of object. Signed-off-by: Ioana Ciornei Link: https://lore.kernel.org/r/20200714133431.17532-6-ioana.ciornei@nxp.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 16 ++++++++-------- drivers/staging/fsl-dpaa2/ethsw/ethsw.h | 1 + 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c index f283ce1..a8fc9bc 100644 --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c @@ -1368,9 +1368,9 @@ static int ethsw_init(struct fsl_mc_device *sw_dev) { struct device *dev = &sw_dev->dev; struct ethsw_core *ethsw = dev_get_drvdata(dev); - u16 version_major, version_minor, i; struct dpsw_stp_cfg stp_cfg; int err; + u16 i; ethsw->dev_id = sw_dev->obj_desc.id; @@ -1388,20 +1388,20 @@ static int ethsw_init(struct fsl_mc_device *sw_dev) } err = dpsw_get_api_version(ethsw->mc_io, 0, - &version_major, - &version_minor); + ðsw->major, + ðsw->minor); if (err) { dev_err(dev, "dpsw_get_api_version err %d\n", err); goto err_close; } /* Minimum supported DPSW version check */ - if (version_major < DPSW_MIN_VER_MAJOR || - (version_major == DPSW_MIN_VER_MAJOR && - version_minor < DPSW_MIN_VER_MINOR)) { + if (ethsw->major < DPSW_MIN_VER_MAJOR || + (ethsw->major == DPSW_MIN_VER_MAJOR && + ethsw->minor < DPSW_MIN_VER_MINOR)) { dev_err(dev, "DPSW version %d:%d not supported. Use %d.%d or greater.\n", - version_major, - version_minor, + ethsw->major, + ethsw->minor, DPSW_MIN_VER_MAJOR, DPSW_MIN_VER_MINOR); err = -ENOTSUPP; goto err_close; diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.h b/drivers/staging/fsl-dpaa2/ethsw/ethsw.h index a0244f7..0e520fd 100644 --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.h +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.h @@ -61,6 +61,7 @@ struct ethsw_core { struct fsl_mc_io *mc_io; u16 dpsw_handle; struct dpsw_attr sw_attr; + u16 major, minor; int dev_id; struct ethsw_port_priv **ports; -- 2.7.4