diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-04-09 05:38:55 +0300 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-04-09 05:38:56 +0300 |
| commit | 68911235cfd9dc8b42faaa380a20be968e439ec2 (patch) | |
| tree | 0d41c6ca64e66ac9c1fff3ecb56beefddb6a4916 /drivers | |
| parent | 3723c3b656ad47bcdad8bc2918a3456f9662a6cc (diff) | |
| parent | da9008674d9658de1e9f45d386ff6627313f39f7 (diff) | |
| download | linux-68911235cfd9dc8b42faaa380a20be968e439ec2.tar.xz | |
Merge branch 'dsa_loop-and-platform_data-cleanups'
Vladimir Oltean says:
====================
dsa_loop and platform_data cleanups
While working to add some new features to dsa_loop, I gathered a number
of cleanup patches. They mostly remove some data structures that became
unused after the multi-switch platforms were migrated to the modern DT
bindings.
====================
Link: https://patch.msgid.link/20260406212158.721806-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/dsa/dsa_loop.c | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/drivers/net/dsa/dsa_loop.c b/drivers/net/dsa/dsa_loop.c index b41254b3ac42..7058faf23592 100644 --- a/drivers/net/dsa/dsa_loop.c +++ b/drivers/net/dsa/dsa_loop.c @@ -14,13 +14,46 @@ #include <linux/workqueue.h> #include <linux/module.h> #include <linux/if_bridge.h> -#include <linux/dsa/loop.h> +#include <linux/if_vlan.h> +#include <linux/types.h> #include <net/dsa.h> #define DSA_LOOP_NUM_PORTS 6 #define DSA_LOOP_CPU_PORT (DSA_LOOP_NUM_PORTS - 1) #define NUM_FIXED_PHYS (DSA_LOOP_NUM_PORTS - 2) +struct dsa_loop_vlan { + u16 members; + u16 untagged; +}; + +struct dsa_loop_mib_entry { + char name[ETH_GSTRING_LEN]; + unsigned long val; +}; + +enum dsa_loop_mib_counters { + DSA_LOOP_PHY_READ_OK, + DSA_LOOP_PHY_READ_ERR, + DSA_LOOP_PHY_WRITE_OK, + DSA_LOOP_PHY_WRITE_ERR, + __DSA_LOOP_CNT_MAX, +}; + +struct dsa_loop_port { + struct dsa_loop_mib_entry mib[__DSA_LOOP_CNT_MAX]; + u16 pvid; + int mtu; +}; + +struct dsa_loop_priv { + struct mii_bus *bus; + unsigned int port_base; + struct dsa_loop_vlan vlans[VLAN_N_VID]; + struct net_device *netdev; + struct dsa_loop_port ports[DSA_MAX_PORTS]; +}; + struct dsa_loop_pdata { /* Must be first, such that dsa_register_switch() can access this * without gory pointer manipulations |
