Subject: Re: [PATCH 05/11] net: dsa: microchip: ksz8795: use mib_cnt where possible

From: Andrew Lunn <[email-masked]>
Date: Thu, 19 Nov 2020 01:20:47 +0100

On Wed, Nov 18, 2020 at 11:03:51PM +0100, Michael Grzeschik wrote:
> The variable mib_cnt is assigned with TOTAL_SWITCH_COUNTER_NUM. This
> value can also be derived from the array size of mib_names. This patch
> uses this calculated value instead, removes the extra define and uses
> mib_cnt everywhere possible instead of the static define
> TOTAL_SWITCH_COUNTER_NUM.
> 
> Signed-off-by: Michael Grzeschik <[email-masked]>
> ---
>  drivers/net/dsa/microchip/ksz8795.c     | 8 ++++----
>  drivers/net/dsa/microchip/ksz8795_reg.h | 3 ---
>  2 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/net/dsa/microchip/ksz8795.c b/drivers/net/dsa/microchip/ksz8795.c
> index 04a571bde7e6a4f..6ddba2de2d3026e 100644
> --- a/drivers/net/dsa/microchip/ksz8795.c
> +++ b/drivers/net/dsa/microchip/ksz8795.c
> @@ -23,7 +23,7 @@
>  
>  static const struct {
>  	char string[ETH_GSTRING_LEN];
> -} mib_names[TOTAL_SWITCH_COUNTER_NUM] = {
> +} mib_names[] = {
>  	{ "rx_hi" },
>  	{ "rx_undersize" },
>  	{ "rx_fragments" },
> @@ -656,7 +656,7 @@ static void ksz8795_get_strings(struct dsa_switch *ds, int port,
>  {
>  	int i;
>  
> -	for (i = 0; i < TOTAL_SWITCH_COUNTER_NUM; i++) {
> +	for (i = 0; i < dev->mib_cnt; i++) {
>  		memcpy(buf + i * ETH_GSTRING_LEN, mib_names[i].string,
>  		       ETH_GSTRING_LEN);
>  	}
> @@ -1236,7 +1236,7 @@ static int ksz8795_switch_init(struct ksz_device *dev)
>  	dev->port_mask |= dev->host_mask;
>  
>  	dev->reg_mib_cnt = KSZ8795_COUNTER_NUM;
> -	dev->mib_cnt = TOTAL_SWITCH_COUNTER_NUM;
> +	dev->mib_cnt = ARRAY_SIZE(mib_names);

Hi Michael

I think it would be better to just use ARRAY_SIZE(mib_names)
everywhere. It is one less hoop to jump through when looking for array
overruns, etc.

	Andrew