[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200324095456.GA7693@jiffies>
Date: Tue, 24 Mar 2020 09:54:56 +0000
From: Quentin Deslandes <quentin.deslandes@...ev.co.uk>
To: Oscar Carter <oscar.carter@....com>
Cc: Forest Bond <forest@...ttletooquiet.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Malcolm Priestley <tvboxspy@...il.com>,
Colin Ian King <colin.king@...onical.com>,
Gabriela Bittencourt <gabrielabittencourt00@...il.com>,
Dan Carpenter <dan.carpenter@...cle.com>,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] staging: vt6656: Use ARRAY_SIZE instead of hardcoded
size
On 03/18/20 18:40:15, Oscar Carter wrote:
> Use ARRAY_SIZE to replace the hardcoded size so we will never have a
> mismatch.
>
> Signed-off-by: Oscar Carter <oscar.carter@....com>
> ---
> Changelog v1 -> v2
> - Use ARRAY_SIZE(priv->cck_pwr_tbl) everywhere instead of introducing a new
> variable to hold its value.
>
> drivers/staging/vt6656/main_usb.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
> index 5e48b3ddb94c..acfcc11c3b61 100644
> --- a/drivers/staging/vt6656/main_usb.c
> +++ b/drivers/staging/vt6656/main_usb.c
> @@ -23,6 +23,7 @@
>
> #include <linux/etherdevice.h>
> #include <linux/file.h>
> +#include <linux/kernel.h>
> #include "device.h"
> #include "card.h"
> #include "baseband.h"
> @@ -145,7 +146,7 @@ static int vnt_init_registers(struct vnt_private *priv)
>
> init_cmd->init_class = DEVICE_INIT_COLD;
> init_cmd->exist_sw_net_addr = priv->exist_sw_net_addr;
> - for (ii = 0; ii < 6; ii++)
> + for (ii = 0; ii < ARRAY_SIZE(init_cmd->sw_net_addr); ii++)
> init_cmd->sw_net_addr[ii] = priv->current_net_addr[ii];
> init_cmd->short_retry_limit = priv->short_retry_limit;
> init_cmd->long_retry_limit = priv->long_retry_limit;
> @@ -184,7 +185,7 @@ static int vnt_init_registers(struct vnt_private *priv)
> priv->cck_pwr = priv->eeprom[EEP_OFS_PWR_CCK];
> priv->ofdm_pwr_g = priv->eeprom[EEP_OFS_PWR_OFDMG];
> /* load power table */
> - for (ii = 0; ii < 14; ii++) {
> + for (ii = 0; ii < ARRAY_SIZE(priv->cck_pwr_tbl); ii++) {
> priv->cck_pwr_tbl[ii] =
> priv->eeprom[ii + EEP_OFS_CCK_PWR_TBL];
> if (priv->cck_pwr_tbl[ii] == 0)
> @@ -200,7 +201,7 @@ static int vnt_init_registers(struct vnt_private *priv)
> * original zonetype is USA, but custom zonetype is Europe,
> * then need to recover 12, 13, 14 channels with 11 channel
> */
> - for (ii = 11; ii < 14; ii++) {
> + for (ii = 11; ii < ARRAY_SIZE(priv->cck_pwr_tbl); ii++) {
> priv->cck_pwr_tbl[ii] = priv->cck_pwr_tbl[10];
> priv->ofdm_pwr_tbl[ii] = priv->ofdm_pwr_tbl[10];
> }
> --
> 2.20.1
>
Looks good, however are we certain priv->cck_pwr_tbl and
priv->ofdm_pwr_tbl are always the same size?
What about using a macro for cck_pwr_tbl and ofdm_pwr_tbl size in
device.h? Or a BUILD_BUG() if array's sizes are different? It could be
helpful for future developers to say these arrays must be the same size.
Thanks,
Quentin
Powered by blists - more mailing lists