Store the switch API version in struct gswip_priv (in host endian) to prepare supporting newer features such as 4096 VLANs and per-port configurable learning. Signed-off-by: Daniel Golle --- v3: use __force for version field endian exception (__le16 __force) to fix sparse warning. v2: no changes drivers/net/dsa/lantiq_gswip.c | 3 +++ drivers/net/dsa/lantiq_gswip.h | 1 + 2 files changed, 4 insertions(+) diff --git a/drivers/net/dsa/lantiq_gswip.c b/drivers/net/dsa/lantiq_gswip.c index f8a43c351649..8999c3f2d290 100644 --- a/drivers/net/dsa/lantiq_gswip.c +++ b/drivers/net/dsa/lantiq_gswip.c @@ -28,6 +28,7 @@ #include "lantiq_gswip.h" #include "lantiq_pce.h" +#include #include #include #include @@ -1936,6 +1937,8 @@ static int gswip_probe(struct platform_device *pdev) "gphy fw probe failed\n"); } + priv->version = le16_to_cpu((__le16 __force)version); + /* bring up the mdio bus */ err = gswip_mdio(priv); if (err) { diff --git a/drivers/net/dsa/lantiq_gswip.h b/drivers/net/dsa/lantiq_gswip.h index 0b7b6db4eab9..077d1928149b 100644 --- a/drivers/net/dsa/lantiq_gswip.h +++ b/drivers/net/dsa/lantiq_gswip.h @@ -258,6 +258,7 @@ struct gswip_priv { struct gswip_gphy_fw *gphy_fw; u32 port_vlan_filter; struct mutex pce_table_lock; + u16 version; }; #endif /* __LANTIQ_GSWIP_H */ -- 2.50.1