[U-Boot] [PATCH 04/13] sparse: Simplify multiple logic

Tom Rini
2015-09-04T17:20:38Z

On Mon, Aug 31, 2015 at 04:46:04PM +0200, Maxime Ripard wrote:

> To check the alignment of the image blocks to the storage blocks, the
> current code uses a convoluted syntax, while a simple mod also does the
> work.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
> common/aboot.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/common/aboot.c b/common/aboot.c
> index 65e633acfcb9..c8556d9b23f4 100644
> --- a/common/aboot.c
> +++ b/common/aboot.c
> @@ -269,8 +269,7 @@ void write_sparse_image(block_dev_desc_t *dev_desc,
> }
>
> /* verify sparse_header->blk_sz is an exact multiple of info->blksz */
> - if (sparse_header->blk_sz !=
> - (sparse_header->blk_sz & ~(info->blksz - 1))) {
> + if (sparse_header->blk_sz % info->blksz) {

So, sometimes we have convoluted syntax like this to avoid what ends up
as floating point math on 32bit platforms. Maybe this needs to be one
of the helpers in include/linux/math64.h ? Or is this really just
convoluted syntax? Thanks!

--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150904/9a9b9bcf/attachment.sig>