mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
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>
This commit is contained in:
@@ -383,11 +383,6 @@ DSA data structures are defined in ``include/net/dsa.h`` as well as
|
||||
well as various properties of its ports: names/labels, and finally a routing
|
||||
table indication (when cascading switches)
|
||||
|
||||
- ``dsa_platform_data``: platform device configuration data which can reference
|
||||
a collection of dsa_chip_data structures if multiple switches are cascaded,
|
||||
the conduit network device this switch tree is attached to needs to be
|
||||
referenced
|
||||
|
||||
- ``dsa_switch_tree``: structure assigned to the conduit network device under
|
||||
``dsa_ptr``, this structure references a dsa_platform_data structure as well as
|
||||
the tagging protocol supported by the switch tree, and which receive/transmit
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef DSA_LOOP_H
|
||||
#define DSA_LOOP_H
|
||||
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/ethtool.h>
|
||||
#include <net/dsa.h>
|
||||
|
||||
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];
|
||||
};
|
||||
|
||||
#endif /* DSA_LOOP_H */
|
||||
@@ -3,19 +3,10 @@
|
||||
#define __DSA_PDATA_H
|
||||
|
||||
struct device;
|
||||
struct net_device;
|
||||
|
||||
#define DSA_MAX_SWITCHES 4
|
||||
#define DSA_MAX_PORTS 12
|
||||
#define DSA_RTABLE_NONE -1
|
||||
|
||||
struct dsa_chip_data {
|
||||
/*
|
||||
* How to access the switch configuration registers.
|
||||
*/
|
||||
struct device *host_dev;
|
||||
int sw_addr;
|
||||
|
||||
/*
|
||||
* Reference to network devices
|
||||
*/
|
||||
@@ -24,12 +15,6 @@ struct dsa_chip_data {
|
||||
/* set to size of eeprom if supported by the switch */
|
||||
int eeprom_len;
|
||||
|
||||
/* Device tree node pointer for this specific switch chip
|
||||
* used during switch setup in case additional properties
|
||||
* and resources needs to be used
|
||||
*/
|
||||
struct device_node *of_node;
|
||||
|
||||
/*
|
||||
* The names of the switch's ports. Use "cpu" to
|
||||
* designate the switch port that the cpu is connected to,
|
||||
@@ -38,31 +23,6 @@ struct dsa_chip_data {
|
||||
* or any other string to indicate this is a physical port.
|
||||
*/
|
||||
char *port_names[DSA_MAX_PORTS];
|
||||
struct device_node *port_dn[DSA_MAX_PORTS];
|
||||
|
||||
/*
|
||||
* An array of which element [a] indicates which port on this
|
||||
* switch should be used to send packets to that are destined
|
||||
* for switch a. Can be NULL if there is only one switch chip.
|
||||
*/
|
||||
s8 rtable[DSA_MAX_SWITCHES];
|
||||
};
|
||||
|
||||
struct dsa_platform_data {
|
||||
/*
|
||||
* Reference to a Linux network interface that connects
|
||||
* to the root switch chip of the tree.
|
||||
*/
|
||||
struct device *netdev;
|
||||
struct net_device *of_netdev;
|
||||
|
||||
/*
|
||||
* Info structs describing each of the switch chips
|
||||
* connected via this network interface.
|
||||
*/
|
||||
int nr_chips;
|
||||
struct dsa_chip_data *chip;
|
||||
};
|
||||
|
||||
|
||||
#endif /* __DSA_PDATA_H */
|
||||
|
||||
Reference in New Issue
Block a user