mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00:00
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 <ioana.ciornei@nxp.com> Link: https://lore.kernel.org/r/20200714133431.17532-6-ioana.ciornei@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
03ad6de9bb
commit
3b9c7029a7
2 changed files with 9 additions and 8 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue