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 protected]>
> ---
> 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