Re: [PATCH 3/8] drivers/media: use ARRAY_SIZE

From: Andrew Morton
Date: Wed Nov 12 2008 - 18:19:25 EST


On Sun, 9 Nov 2008 09:14:27 -0800
Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> On Sun, 9 Nov 2008 17:55:03 +0100 (CET)
> Julia Lawall <julia@xxxxxxx> wrote:
>
> > From: Julia Lawall <julia@xxxxxxx>
> >
> > ARRAY_SIZE is more concise to use when the size of an array is
> > divided by the size of its type or the size of its first element.
>
> Hi,
> looking at your patch, I don't think I agree it's just blindly the
> right thing to do.
>
> > - *count = sizeof(RegAddr) / sizeof(u8);
> > + *count = ARRAY_SIZE(RegAddr);

It looks OK to me?

u8 RegAddr[] = {
11, 12, 13, 22, 32, 43, 44, 53, 56, 59, 73,
76, 77, 91, 134, 135, 137, 147,
156, 166, 167, 168, 25 };

*count = sizeof(RegAddr) / sizeof(u8);


> really. ARRAY_SIZE doesn't appear to be an improvement here..

It's a pretty typical usage of ARRAY_SIZE. The benefits are, as usual:

- the ARRAY_SIZE construct *tells* the reader what the code is trying
to do. Rather than the reader having to work it out and then say "oh
yeah, that's what it's doing".

- a reviewer doesn't have to go back and double-check that correct
type was used.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/