Skip to content
  • Arnd Bergmann's avatar
    media: fix warning on v4l2_subdev_call() result interpreted as bool · da48c948
    Arnd Bergmann authored
    v4l2_subdev_call is a macro returning whatever the callback return
    type is, usually 'int'. With gcc-7 and ccache, this can lead to
    many wanings like:
    
    media/platform/pxa_camera.c: In function 'pxa_mbus_build_fmts_xlate':
    media/platform/pxa_camera.c:766:27: error: ?: using integer constants in boolean context [-Werror=int-in-bool-context]
      while (!v4l2_subdev_call(subdev, pad, enum_mbus_code, NULL, &code)) {
    media/atomisp/pci/atomisp2/atomisp_cmd.c: In function 'atomisp_s_ae_window':
    media/atomisp/pci/atomisp2/atomisp_cmd.c:6414:52: error: ?: using integer constants in boolean context [-Werror=int-in-bool-context]
      if (v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
    
    The problem here is that after preprocessing, we the compiler
    sees a variation of
    
    	if (a ? 0 : 2)
    
    that it thinks is suspicious.
    
    This replaces the ?: operator with an different expression that
    does the same thing in a more easily readable way that cannot
    tigger the warning
    
    Link: https://lkml.org/lkml/2017/7/14/156
    
    
    
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    da48c948