[PATCH net-next 7/8] net: hns: convert to use .get_rx_ring_count

Breno Leitao posted 8 patches 1 month ago
[PATCH net-next 7/8] net: hns: convert to use .get_rx_ring_count
Posted by Breno Leitao 1 month ago
Use the newly introduced .get_rx_ring_count ethtool ops callback instead
of handling ETHTOOL_GRXRINGS directly in .get_rxnfc().

Signed-off-by: Breno Leitao <leitao@debian.org>
---
 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
index 60a586a951a0..23b295dedaef 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
@@ -1230,21 +1230,11 @@ hns_set_rss(struct net_device *netdev, struct ethtool_rxfh_param *rxfh,
 			    rxfh->indir, rxfh->key, rxfh->hfunc);
 }
 
-static int hns_get_rxnfc(struct net_device *netdev,
-			 struct ethtool_rxnfc *cmd,
-			 u32 *rule_locs)
+static u32 hns_get_rx_ring_count(struct net_device *netdev)
 {
 	struct hns_nic_priv *priv = netdev_priv(netdev);
 
-	switch (cmd->cmd) {
-	case ETHTOOL_GRXRINGS:
-		cmd->data = priv->ae_handle->q_num;
-		break;
-	default:
-		return -EOPNOTSUPP;
-	}
-
-	return 0;
+	return priv->ae_handle->q_num;
 }
 
 static const struct ethtool_ops hns_ethtool_ops = {
@@ -1273,7 +1263,7 @@ static const struct ethtool_ops hns_ethtool_ops = {
 	.get_rxfh_indir_size = hns_get_rss_indir_size,
 	.get_rxfh = hns_get_rss,
 	.set_rxfh = hns_set_rss,
-	.get_rxnfc = hns_get_rxnfc,
+	.get_rx_ring_count = hns_get_rx_ring_count,
 	.get_link_ksettings  = hns_nic_get_link_ksettings,
 	.set_link_ksettings  = hns_nic_set_link_ksettings,
 };

-- 
2.47.3
Re: [PATCH net-next 7/8] net: hns: convert to use .get_rx_ring_count
Posted by Jijie Shao 4 weeks ago
on 2026/1/10 1:40, Breno Leitao wrote:
> Use the newly introduced .get_rx_ring_count ethtool ops callback instead
> of handling ETHTOOL_GRXRINGS directly in .get_rxnfc().
>
> Signed-off-by: Breno Leitao <leitao@debian.org>

Thanks,

Reviewed-by: Jijie Shao <shaojijie@huawei.com>

> ---
>   drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 16 +++-------------
>   1 file changed, 3 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
> index 60a586a951a0..23b295dedaef 100644
> --- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
> +++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
> @@ -1230,21 +1230,11 @@ hns_set_rss(struct net_device *netdev, struct ethtool_rxfh_param *rxfh,
>   			    rxfh->indir, rxfh->key, rxfh->hfunc);
>   }
>   
> -static int hns_get_rxnfc(struct net_device *netdev,
> -			 struct ethtool_rxnfc *cmd,
> -			 u32 *rule_locs)
> +static u32 hns_get_rx_ring_count(struct net_device *netdev)
>   {
>   	struct hns_nic_priv *priv = netdev_priv(netdev);
>   
> -	switch (cmd->cmd) {
> -	case ETHTOOL_GRXRINGS:
> -		cmd->data = priv->ae_handle->q_num;
> -		break;
> -	default:
> -		return -EOPNOTSUPP;
> -	}
> -
> -	return 0;
> +	return priv->ae_handle->q_num;
>   }
>   
>   static const struct ethtool_ops hns_ethtool_ops = {
> @@ -1273,7 +1263,7 @@ static const struct ethtool_ops hns_ethtool_ops = {
>   	.get_rxfh_indir_size = hns_get_rss_indir_size,
>   	.get_rxfh = hns_get_rss,
>   	.set_rxfh = hns_set_rss,
> -	.get_rxnfc = hns_get_rxnfc,
> +	.get_rx_ring_count = hns_get_rx_ring_count,
>   	.get_link_ksettings  = hns_nic_get_link_ksettings,
>   	.set_link_ksettings  = hns_nic_set_link_ksettings,
>   };
>