media: fimc-capture: get rid of two warnings
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Mar 2018 12:54:22 +0000 (08:54 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 23 Mar 2018 12:56:36 +0000 (08:56 -0400)
Smatch produces two warnings when building this file:
./arch/x86/include/asm/bitops.h:433:22: warning: asm output is not an lvalue
./arch/x86/include/asm/bitops.h:433:22: warning: asm output is not an lvalue

On some asm instructions.

I suspect that those asm instructions might not be producing the
right code, so, better to use two intermediate vars, get rid of
the warnings and of the risk of producing a wrong code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/exynos4-is/fimc-capture.c

index ed9302caa00484c55e4e75474acd204fa77df404..a3cdac18819043df209f1b4df6ffaf34833eeef6 100644 (file)
@@ -670,10 +670,13 @@ static void fimc_capture_try_selection(struct fimc_ctx *ctx,
                return;
        }
        if (target == V4L2_SEL_TGT_COMPOSE) {
+               u32 tmp_min_h = ffs(sink->width) - 3;
+               u32 tmp_min_v = ffs(sink->height) - 1;
+
                if (ctx->rotation != 90 && ctx->rotation != 270)
                        align_h = 1;
-               max_sc_h = min(SCALER_MAX_HRATIO, 1 << (ffs(sink->width) - 3));
-               max_sc_v = min(SCALER_MAX_VRATIO, 1 << (ffs(sink->height) - 1));
+               max_sc_h = min(SCALER_MAX_HRATIO, 1 << tmp_min_h);
+               max_sc_v = min(SCALER_MAX_VRATIO, 1 << tmp_min_v);
                min_sz = var->min_out_pixsize;
        } else {
                u32 depth = fimc_get_format_depth(sink->fmt);