Commit dfafe449 authored by Andrew Lunn's avatar Andrew Lunn Committed by David S. Miller

net: dsa: mv88e6xxx: Add stats_get_sset_count|string to ops structure

Different families have different sets of statistics. Abstract this
using a stats_get_sset_count and stats_get_strings op. Each stat has a
bitmap, and the ops implementer uses a bit map mask to count the
statistics which apply for the family, or return the list of strings.
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
v2:
  Rename functions to avoid _ prefix.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent de227387
This diff is collapsed.
...@@ -806,19 +806,21 @@ struct mv88e6xxx_ops { ...@@ -806,19 +806,21 @@ struct mv88e6xxx_ops {
* are separated out of the STATS_OP register. * are separated out of the STATS_OP register.
*/ */
int (*stats_set_histogram)(struct mv88e6xxx_chip *chip); int (*stats_set_histogram)(struct mv88e6xxx_chip *chip);
};
enum stat_type { /* Return the number of strings describing statistics */
BANK0, int (*stats_get_sset_count)(struct mv88e6xxx_chip *chip);
BANK1, void (*stats_get_strings)(struct mv88e6xxx_chip *chip, uint8_t *data);
PORT,
}; };
#define STATS_TYPE_PORT BIT(0)
#define STATS_TYPE_BANK0 BIT(1)
#define STATS_TYPE_BANK1 BIT(2)
struct mv88e6xxx_hw_stat { struct mv88e6xxx_hw_stat {
char string[ETH_GSTRING_LEN]; char string[ETH_GSTRING_LEN];
int sizeof_stat; int sizeof_stat;
int reg; int reg;
enum stat_type type; int type;
}; };
static inline bool mv88e6xxx_has(struct mv88e6xxx_chip *chip, static inline bool mv88e6xxx_has(struct mv88e6xxx_chip *chip,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment