[PATCH net-next v3 7/8] net: dsa: lantiq_gswip: store switch API version in priv
From: Daniel Golle
Date: Tue Aug 19 2025 - 21:56:57 EST
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 <daniel@xxxxxxxxxxxxxx>
---
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 <linux/byteorder/generic.h>
#include <linux/delay.h>
#include <linux/etherdevice.h>
#include <linux/firmware.h>
@@ -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