net: broadcom: use ethtool string helpers
The latter is the preferred way to copy ethtool strings. Avoids manually incrementing the pointer. Cleans up the code quite well. Signed-off-by: Rosen Penev <rosenp@gmail.com> Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://patch.msgid.link/20241104205317.306140-1-rosenp@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
4ea3e22190
commit
fda960354e
@@ -101,14 +101,14 @@ static int bcmasp_get_sset_count(struct net_device *dev, int string_set)
|
||||
static void bcmasp_get_strings(struct net_device *dev, u32 stringset,
|
||||
u8 *data)
|
||||
{
|
||||
const char *str;
|
||||
unsigned int i;
|
||||
|
||||
switch (stringset) {
|
||||
case ETH_SS_STATS:
|
||||
for (i = 0; i < BCMASP_STATS_LEN; i++) {
|
||||
memcpy(data + i * ETH_GSTRING_LEN,
|
||||
bcmasp_gstrings_stats[i].stat_string,
|
||||
ETH_GSTRING_LEN);
|
||||
str = bcmasp_gstrings_stats[i].stat_string;
|
||||
ethtool_puts(&data, str);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1339,14 +1339,14 @@ static int bcm_enet_get_sset_count(struct net_device *netdev,
|
||||
static void bcm_enet_get_strings(struct net_device *netdev,
|
||||
u32 stringset, u8 *data)
|
||||
{
|
||||
const char *str;
|
||||
int i;
|
||||
|
||||
switch (stringset) {
|
||||
case ETH_SS_STATS:
|
||||
for (i = 0; i < BCM_ENET_STATS_LEN; i++) {
|
||||
memcpy(data + i * ETH_GSTRING_LEN,
|
||||
bcm_enet_gstrings_stats[i].stat_string,
|
||||
ETH_GSTRING_LEN);
|
||||
str = bcm_enet_gstrings_stats[i].stat_string;
|
||||
ethtool_puts(&data, str);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2503,14 +2503,14 @@ static const struct bcm_enet_stats bcm_enetsw_gstrings_stats[] = {
|
||||
static void bcm_enetsw_get_strings(struct net_device *netdev,
|
||||
u32 stringset, u8 *data)
|
||||
{
|
||||
const char *str;
|
||||
int i;
|
||||
|
||||
switch (stringset) {
|
||||
case ETH_SS_STATS:
|
||||
for (i = 0; i < BCM_ENETSW_STATS_LEN; i++) {
|
||||
memcpy(data + i * ETH_GSTRING_LEN,
|
||||
bcm_enetsw_gstrings_stats[i].stat_string,
|
||||
ETH_GSTRING_LEN);
|
||||
str = bcm_enetsw_gstrings_stats[i].stat_string;
|
||||
ethtool_puts(&data, str);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -346,32 +346,22 @@ static void bcm_sysport_get_strings(struct net_device *dev,
|
||||
{
|
||||
struct bcm_sysport_priv *priv = netdev_priv(dev);
|
||||
const struct bcm_sysport_stats *s;
|
||||
char buf[128];
|
||||
int i, j;
|
||||
int i;
|
||||
|
||||
switch (stringset) {
|
||||
case ETH_SS_STATS:
|
||||
for (i = 0, j = 0; i < BCM_SYSPORT_STATS_LEN; i++) {
|
||||
for (i = 0; i < BCM_SYSPORT_STATS_LEN; i++) {
|
||||
s = &bcm_sysport_gstrings_stats[i];
|
||||
if (priv->is_lite &&
|
||||
!bcm_sysport_lite_stat_valid(s->type))
|
||||
continue;
|
||||
|
||||
memcpy(data + j * ETH_GSTRING_LEN, s->stat_string,
|
||||
ETH_GSTRING_LEN);
|
||||
j++;
|
||||
ethtool_puts(&data, s->stat_string);
|
||||
}
|
||||
|
||||
for (i = 0; i < dev->num_tx_queues; i++) {
|
||||
snprintf(buf, sizeof(buf), "txq%d_packets", i);
|
||||
memcpy(data + j * ETH_GSTRING_LEN, buf,
|
||||
ETH_GSTRING_LEN);
|
||||
j++;
|
||||
|
||||
snprintf(buf, sizeof(buf), "txq%d_bytes", i);
|
||||
memcpy(data + j * ETH_GSTRING_LEN, buf,
|
||||
ETH_GSTRING_LEN);
|
||||
j++;
|
||||
ethtool_sprintf(&data, "txq%d_packets", i);
|
||||
ethtool_sprintf(&data, "txq%d_bytes", i);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -1367,8 +1367,7 @@ static void bgmac_get_strings(struct net_device *dev, u32 stringset,
|
||||
return;
|
||||
|
||||
for (i = 0; i < BGMAC_STATS_LEN; i++)
|
||||
strscpy(data + i * ETH_GSTRING_LEN,
|
||||
bgmac_get_strings_stats[i].name, ETH_GSTRING_LEN);
|
||||
ethtool_puts(&data, bgmac_get_strings_stats[i].name);
|
||||
}
|
||||
|
||||
static void bgmac_get_ethtool_stats(struct net_device *dev,
|
||||
|
||||
@@ -1144,14 +1144,14 @@ static int bcmgenet_get_sset_count(struct net_device *dev, int string_set)
|
||||
static void bcmgenet_get_strings(struct net_device *dev, u32 stringset,
|
||||
u8 *data)
|
||||
{
|
||||
const char *str;
|
||||
int i;
|
||||
|
||||
switch (stringset) {
|
||||
case ETH_SS_STATS:
|
||||
for (i = 0; i < BCMGENET_STATS_LEN; i++) {
|
||||
memcpy(data + i * ETH_GSTRING_LEN,
|
||||
bcmgenet_gstrings_stats[i].stat_string,
|
||||
ETH_GSTRING_LEN);
|
||||
str = bcmgenet_gstrings_stats[i].stat_string;
|
||||
ethtool_puts(&data, str);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -523,8 +523,7 @@ void bcm_phy_get_strings(struct phy_device *phydev, u8 *data)
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(bcm_phy_hw_stats); i++)
|
||||
strscpy(data + i * ETH_GSTRING_LEN,
|
||||
bcm_phy_hw_stats[i].string, ETH_GSTRING_LEN);
|
||||
ethtool_puts(&data, bcm_phy_hw_stats[i].string);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(bcm_phy_get_strings);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user