Re: [PATCH] mtd: spi-nor: Simplify loop in spi_nor_read_id()

From: Tudor.Ambarus
Date: Wed Feb 19 2020 - 03:06:38 EST


Hi, Jonathan,

On Tuesday, February 18, 2020 5:10:34 PM EET Jonathan Neuschäfer wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> - Don't use `tmp` for two purposes (return value, loop counter)
> - Name the loop counter `i`, as is convention
> - Return the pointer variable that the if conditions leading up to the
> return statement already operate on, rather than a different
> expression that evaluates to the same pointer
>
> Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@xxxxxxx>
> ---
> drivers/mtd/spi-nor/spi-nor.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index 4fc632ec18fe..c491572d5267 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -2711,7 +2711,7 @@ static const struct flash_info spi_nor_ids[] = {
>
> static const struct flash_info *spi_nor_read_id(struct spi_nor *nor)
> {
> - int tmp;
> + int tmp, i;

while cleaning this function, would you rename tmp with ret?

> u8 *id = nor->bouncebuf;

and please drop this tab between u8 and *id

> const struct flash_info *info;

Also, IMO, the definition of variables should be done with the focus of
avoiding stack padding. With this in mind, I would first define the pointers
and then the ints and smaller types. But there are others than prefer defining
the variables in a tree/reverse-tree way, depending of the length of the line.
There's no agreement on this, either way if fine, do as you prefer.

>
> @@ -2732,11 +2732,11 @@ static const struct flash_info
> *spi_nor_read_id(struct spi_nor *nor) return ERR_PTR(tmp);
> }
>
> - for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) {
> - info = &spi_nor_ids[tmp];
> + for (i = 0; i < ARRAY_SIZE(spi_nor_ids) - 1; i++) {
> + info = &spi_nor_ids[i];
> if (info->id_len) {
> if (!memcmp(info->id, id, info->id_len))
> - return &spi_nor_ids[tmp];
> + return info;

Looks good,

Cheers,
ta