linux/include/linux/dsa/loop.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef DSA_LOOP_H
   3#define DSA_LOOP_H
   4
   5#include <linux/types.h>
   6#include <linux/ethtool.h>
   7#include <net/dsa.h>
   8
   9struct dsa_loop_vlan {
  10        u16 members;
  11        u16 untagged;
  12};
  13
  14struct dsa_loop_mib_entry {
  15        char name[ETH_GSTRING_LEN];
  16        unsigned long val;
  17};
  18
  19enum dsa_loop_mib_counters {
  20        DSA_LOOP_PHY_READ_OK,
  21        DSA_LOOP_PHY_READ_ERR,
  22        DSA_LOOP_PHY_WRITE_OK,
  23        DSA_LOOP_PHY_WRITE_ERR,
  24        __DSA_LOOP_CNT_MAX,
  25};
  26
  27struct dsa_loop_port {
  28        struct dsa_loop_mib_entry mib[__DSA_LOOP_CNT_MAX];
  29        u16 pvid;
  30        int mtu;
  31};
  32
  33struct dsa_loop_priv {
  34        struct mii_bus  *bus;
  35        unsigned int    port_base;
  36        struct dsa_loop_vlan vlans[VLAN_N_VID];
  37        struct net_device *netdev;
  38        struct dsa_loop_port ports[DSA_MAX_PORTS];
  39};
  40
  41#endif /* DSA_LOOP_H */
  42