[PATCH net-next v2 7/8] net: dsa: lantiq_gswip: store switch API version in priv

From: Daniel Golle
Date: Mon Aug 18 2025 - 21:36:46 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>
---
v2: store version as u16 in host byte order

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 d42e7625fe44..751ac9d6e49b 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(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 d4603bba7e7c..5a0ac7a538d9 100644
--- a/drivers/net/dsa/lantiq_gswip.h
+++ b/drivers/net/dsa/lantiq_gswip.h
@@ -259,6 +259,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