[PATCH] video: Add parentheses around VNBYTES() macro

Tom Rini trini at konsulko.com
Wed Aug 9 03:39:30 CEST 2023


On Wed, Jul 26, 2023 at 09:54:08AM +0300, Dan Carpenter wrote:

> The VNBYTES() macro needs to have parentheses to prevent some (harmless)
> macro expansion bugs.  The VNBYTES() macro is used like this:
> 
> 	VID_TO_PIXEL(x) * VNBYTES(vid_priv->bpix)
> 
> The * operation is done before the / operation.  It still ends up with
> the same results, but it's not ideal.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter at linaro.org>
> Reviewed-by: Simon Glass <sjg at chromium.org>

In that this seems correct:

Applied to u-boot/next, thanks!

But I want to note that with gcc-13.1 (and binutils 2.40) or more
specifically the kernel.org arm/aarch64/etc toolchains, this causes the
generated code to change:
   aarch64: (for 1/1 boards) all +8.0 text +8.0
            bananapi-m5    : all +8 text +8
               u-boot: add: 0/0, grow: 1/0 bytes: 8/0 (8)
                 function                                   old     new   delta
                 video_post_probe                           248     256      +8

So I don't know that this was a harmless bug.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230808/9abe132a/attachment.sig>


More information about the U-Boot mailing list