net: dsa: loop: Move data structures to header
In preparation for adding support for a mockup data path, move the driver data structures to include/linux/dsa/loop.h such that we can share them between net/dsa/ and drivers/net/dsa/ later on. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
916a8d168e
commit
6c84a58997
@@ -14,28 +14,11 @@
|
|||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/if_bridge.h>
|
#include <linux/if_bridge.h>
|
||||||
|
#include <linux/dsa/loop.h>
|
||||||
#include <net/dsa.h>
|
#include <net/dsa.h>
|
||||||
|
|
||||||
#include "dsa_loop.h"
|
#include "dsa_loop.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,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct dsa_loop_mib_entry dsa_loop_mibs[] = {
|
static struct dsa_loop_mib_entry dsa_loop_mibs[] = {
|
||||||
[DSA_LOOP_PHY_READ_OK] = { "phy_read_ok", },
|
[DSA_LOOP_PHY_READ_OK] = { "phy_read_ok", },
|
||||||
[DSA_LOOP_PHY_READ_ERR] = { "phy_read_err", },
|
[DSA_LOOP_PHY_READ_ERR] = { "phy_read_err", },
|
||||||
@@ -43,19 +26,6 @@ static struct dsa_loop_mib_entry dsa_loop_mibs[] = {
|
|||||||
[DSA_LOOP_PHY_WRITE_ERR] = { "phy_write_err", },
|
[DSA_LOOP_PHY_WRITE_ERR] = { "phy_write_err", },
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dsa_loop_port {
|
|
||||||
struct dsa_loop_mib_entry mib[__DSA_LOOP_CNT_MAX];
|
|
||||||
u16 pvid;
|
|
||||||
};
|
|
||||||
|
|
||||||
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];
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct phy_device *phydevs[PHY_MAX_ADDR];
|
static struct phy_device *phydevs[PHY_MAX_ADDR];
|
||||||
|
|
||||||
static enum dsa_tag_protocol dsa_loop_get_protocol(struct dsa_switch *ds,
|
static enum dsa_tag_protocol dsa_loop_get_protocol(struct dsa_switch *ds,
|
||||||
|
40
include/linux/dsa/loop.h
Normal file
40
include/linux/dsa/loop.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#ifndef DSA_LOOP_H
|
||||||
|
#define DSA_LOOP_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;
|
||||||
|
};
|
||||||
|
|
||||||
|
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 */
|
Reference in New Issue
Block a user