CC: [email protected]
BCC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: shravan kumar <[email protected]>
TO: [email protected]
TO: [email protected]
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: Shravan Chippa <[email protected]>
CC: Conor Dooley <[email protected]>
CC: Prakash Battu <[email protected]>

Hi shravan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on media-tree/master]
[also build test WARNING on linus/master v5.19 next-20220728]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/shravan-kumar/media-i2c-imx334-support-lower-bandwidth-mode/20220728-143143
base:   git://linuxtv.org/media_tree.git master
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: arc-randconfig-m041-20220731 
(https://download.01.org/0day-ci/archive/20220801/[email protected]/config)
compiler: arceb-elf-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/media/i2c/imx334.c:735 imx334_enum_frame_size() warn: ignoring 
unreachable code.
drivers/media/i2c/imx334.c:832 imx334_set_pad_format() warn: unsigned 'code' is 
never less than zero.

vim +735 drivers/media/i2c/imx334.c

9746b11715c3949 Martina Krasteva 2021-02-03  717  
9746b11715c3949 Martina Krasteva 2021-02-03  718  /**
9746b11715c3949 Martina Krasteva 2021-02-03  719   * imx334_enum_frame_size() - 
Enumerate V4L2 sub-device frame sizes
9746b11715c3949 Martina Krasteva 2021-02-03  720   * @sd: pointer to imx334 
V4L2 sub-device structure
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  721   * @sd_state: V4L2 sub-device 
state
9746b11715c3949 Martina Krasteva 2021-02-03  722   * @fsize: V4L2 sub-device 
size enumeration need to be filled
9746b11715c3949 Martina Krasteva 2021-02-03  723   *
9746b11715c3949 Martina Krasteva 2021-02-03  724   * Return: 0 if successful, 
error code otherwise.
9746b11715c3949 Martina Krasteva 2021-02-03  725   */
9746b11715c3949 Martina Krasteva 2021-02-03  726  static int 
imx334_enum_frame_size(struct v4l2_subdev *sd,
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  727                                
  struct v4l2_subdev_state *sd_state,
9746b11715c3949 Martina Krasteva 2021-02-03  728                                
  struct v4l2_subdev_frame_size_enum *fsize)
9746b11715c3949 Martina Krasteva 2021-02-03  729  {
99a7e6eda2d21df Shravan Chippa   2022-07-28  730        int i;
99a7e6eda2d21df Shravan Chippa   2022-07-28  731  
99a7e6eda2d21df Shravan Chippa   2022-07-28  732        if (fsize->index >= 
ARRAY_SIZE(supported_modes))
9746b11715c3949 Martina Krasteva 2021-02-03  733                return -EINVAL;
9746b11715c3949 Martina Krasteva 2021-02-03  734  
99a7e6eda2d21df Shravan Chippa   2022-07-28 @735        for (i = 0; i < 
ARRAY_SIZE(codes); i++) {
99a7e6eda2d21df Shravan Chippa   2022-07-28  736                if (codes[i] == 
fsize->code)
99a7e6eda2d21df Shravan Chippa   2022-07-28  737                        break;
9746b11715c3949 Martina Krasteva 2021-02-03  738                return -EINVAL;
99a7e6eda2d21df Shravan Chippa   2022-07-28  739        }
9746b11715c3949 Martina Krasteva 2021-02-03  740  
99a7e6eda2d21df Shravan Chippa   2022-07-28  741        fsize->min_width = 
supported_modes[fsize->index].width;
9746b11715c3949 Martina Krasteva 2021-02-03  742        fsize->max_width = 
fsize->min_width;
99a7e6eda2d21df Shravan Chippa   2022-07-28  743        fsize->min_height = 
supported_modes[fsize->index].height;
9746b11715c3949 Martina Krasteva 2021-02-03  744        fsize->max_height = 
fsize->min_height;
9746b11715c3949 Martina Krasteva 2021-02-03  745  
9746b11715c3949 Martina Krasteva 2021-02-03  746        return 0;
9746b11715c3949 Martina Krasteva 2021-02-03  747  }
9746b11715c3949 Martina Krasteva 2021-02-03  748  
9746b11715c3949 Martina Krasteva 2021-02-03  749  /**
9746b11715c3949 Martina Krasteva 2021-02-03  750   * imx334_fill_pad_format() - 
Fill subdevice pad format
9746b11715c3949 Martina Krasteva 2021-02-03  751   *                            
from selected sensor mode
9746b11715c3949 Martina Krasteva 2021-02-03  752   * @imx334: pointer to imx334 
device
9746b11715c3949 Martina Krasteva 2021-02-03  753   * @mode: pointer to 
imx334_mode sensor mode
9746b11715c3949 Martina Krasteva 2021-02-03  754   * @fmt: V4L2 sub-device 
format need to be filled
9746b11715c3949 Martina Krasteva 2021-02-03  755   */
9746b11715c3949 Martina Krasteva 2021-02-03  756  static void 
imx334_fill_pad_format(struct imx334 *imx334,
9746b11715c3949 Martina Krasteva 2021-02-03  757                                
   const struct imx334_mode *mode,
9746b11715c3949 Martina Krasteva 2021-02-03  758                                
   struct v4l2_subdev_format *fmt)
9746b11715c3949 Martina Krasteva 2021-02-03  759  {
9746b11715c3949 Martina Krasteva 2021-02-03  760        fmt->format.width = 
mode->width;
9746b11715c3949 Martina Krasteva 2021-02-03  761        fmt->format.height = 
mode->height;
99a7e6eda2d21df Shravan Chippa   2022-07-28  762        fmt->format.code = 
imx334->cur_code;
9746b11715c3949 Martina Krasteva 2021-02-03  763        fmt->format.field = 
V4L2_FIELD_NONE;
9746b11715c3949 Martina Krasteva 2021-02-03  764        fmt->format.colorspace 
= V4L2_COLORSPACE_RAW;
9746b11715c3949 Martina Krasteva 2021-02-03  765        fmt->format.ycbcr_enc = 
V4L2_YCBCR_ENC_DEFAULT;
9746b11715c3949 Martina Krasteva 2021-02-03  766        
fmt->format.quantization = V4L2_QUANTIZATION_DEFAULT;
9746b11715c3949 Martina Krasteva 2021-02-03  767        fmt->format.xfer_func = 
V4L2_XFER_FUNC_NONE;
9746b11715c3949 Martina Krasteva 2021-02-03  768  }
9746b11715c3949 Martina Krasteva 2021-02-03  769  
9746b11715c3949 Martina Krasteva 2021-02-03  770  /**
9746b11715c3949 Martina Krasteva 2021-02-03  771   * imx334_get_pad_format() - 
Get subdevice pad format
9746b11715c3949 Martina Krasteva 2021-02-03  772   * @sd: pointer to imx334 
V4L2 sub-device structure
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  773   * @sd_state: V4L2 sub-device 
state
9746b11715c3949 Martina Krasteva 2021-02-03  774   * @fmt: V4L2 sub-device 
format need to be set
9746b11715c3949 Martina Krasteva 2021-02-03  775   *
9746b11715c3949 Martina Krasteva 2021-02-03  776   * Return: 0 if successful, 
error code otherwise.
9746b11715c3949 Martina Krasteva 2021-02-03  777   */
9746b11715c3949 Martina Krasteva 2021-02-03  778  static int 
imx334_get_pad_format(struct v4l2_subdev *sd,
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  779                                
 struct v4l2_subdev_state *sd_state,
9746b11715c3949 Martina Krasteva 2021-02-03  780                                
 struct v4l2_subdev_format *fmt)
9746b11715c3949 Martina Krasteva 2021-02-03  781  {
9746b11715c3949 Martina Krasteva 2021-02-03  782        struct imx334 *imx334 = 
to_imx334(sd);
9746b11715c3949 Martina Krasteva 2021-02-03  783  
9746b11715c3949 Martina Krasteva 2021-02-03  784        
mutex_lock(&imx334->mutex);
9746b11715c3949 Martina Krasteva 2021-02-03  785  
9746b11715c3949 Martina Krasteva 2021-02-03  786        if (fmt->which == 
V4L2_SUBDEV_FORMAT_TRY) {
9746b11715c3949 Martina Krasteva 2021-02-03  787                struct 
v4l2_mbus_framefmt *framefmt;
9746b11715c3949 Martina Krasteva 2021-02-03  788  
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  789                framefmt = 
v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
9746b11715c3949 Martina Krasteva 2021-02-03  790                fmt->format = 
*framefmt;
9746b11715c3949 Martina Krasteva 2021-02-03  791        } else {
9746b11715c3949 Martina Krasteva 2021-02-03  792                
imx334_fill_pad_format(imx334, imx334->cur_mode, fmt);
9746b11715c3949 Martina Krasteva 2021-02-03  793        }
9746b11715c3949 Martina Krasteva 2021-02-03  794  
9746b11715c3949 Martina Krasteva 2021-02-03  795        
mutex_unlock(&imx334->mutex);
9746b11715c3949 Martina Krasteva 2021-02-03  796  
9746b11715c3949 Martina Krasteva 2021-02-03  797        return 0;
9746b11715c3949 Martina Krasteva 2021-02-03  798  }
9746b11715c3949 Martina Krasteva 2021-02-03  799  
99a7e6eda2d21df Shravan Chippa   2022-07-28  800  static int 
imx219_get_format_code(struct imx334 *imx334, struct v4l2_subdev_format *fmt)
99a7e6eda2d21df Shravan Chippa   2022-07-28  801  {
99a7e6eda2d21df Shravan Chippa   2022-07-28  802        int i;
99a7e6eda2d21df Shravan Chippa   2022-07-28  803  
99a7e6eda2d21df Shravan Chippa   2022-07-28  804        for (i = 0; i < 
ARRAY_SIZE(codes); i++) {
99a7e6eda2d21df Shravan Chippa   2022-07-28  805                if (codes[i] == 
fmt->format.code)
99a7e6eda2d21df Shravan Chippa   2022-07-28  806                        return 
codes[i];
99a7e6eda2d21df Shravan Chippa   2022-07-28  807        }
99a7e6eda2d21df Shravan Chippa   2022-07-28  808  
99a7e6eda2d21df Shravan Chippa   2022-07-28  809        return -EINVAL;
99a7e6eda2d21df Shravan Chippa   2022-07-28  810  }
99a7e6eda2d21df Shravan Chippa   2022-07-28  811  
9746b11715c3949 Martina Krasteva 2021-02-03  812  /**
9746b11715c3949 Martina Krasteva 2021-02-03  813   * imx334_set_pad_format() - 
Set subdevice pad format
9746b11715c3949 Martina Krasteva 2021-02-03  814   * @sd: pointer to imx334 
V4L2 sub-device structure
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  815   * @sd_state: V4L2 sub-device 
state
9746b11715c3949 Martina Krasteva 2021-02-03  816   * @fmt: V4L2 sub-device 
format need to be set
9746b11715c3949 Martina Krasteva 2021-02-03  817   *
9746b11715c3949 Martina Krasteva 2021-02-03  818   * Return: 0 if successful, 
error code otherwise.
9746b11715c3949 Martina Krasteva 2021-02-03  819   */
9746b11715c3949 Martina Krasteva 2021-02-03  820  static int 
imx334_set_pad_format(struct v4l2_subdev *sd,
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  821                                
 struct v4l2_subdev_state *sd_state,
9746b11715c3949 Martina Krasteva 2021-02-03  822                                
 struct v4l2_subdev_format *fmt)
9746b11715c3949 Martina Krasteva 2021-02-03  823  {
9746b11715c3949 Martina Krasteva 2021-02-03  824        struct imx334 *imx334 = 
to_imx334(sd);
9746b11715c3949 Martina Krasteva 2021-02-03  825        const struct 
imx334_mode *mode;
9746b11715c3949 Martina Krasteva 2021-02-03  826        int ret = 0;
99a7e6eda2d21df Shravan Chippa   2022-07-28  827        u32 code;
9746b11715c3949 Martina Krasteva 2021-02-03  828  
9746b11715c3949 Martina Krasteva 2021-02-03  829        
mutex_lock(&imx334->mutex);
9746b11715c3949 Martina Krasteva 2021-02-03  830  
99a7e6eda2d21df Shravan Chippa   2022-07-28  831        code = 
imx219_get_format_code(imx334, fmt);
99a7e6eda2d21df Shravan Chippa   2022-07-28 @832        if (code < 0)
99a7e6eda2d21df Shravan Chippa   2022-07-28  833                return -EINVAL;
99a7e6eda2d21df Shravan Chippa   2022-07-28  834  
99a7e6eda2d21df Shravan Chippa   2022-07-28  835        imx334->cur_code = code;
99a7e6eda2d21df Shravan Chippa   2022-07-28  836  
99a7e6eda2d21df Shravan Chippa   2022-07-28  837        mode = 
v4l2_find_nearest_size(supported_modes,
99a7e6eda2d21df Shravan Chippa   2022-07-28  838                                
      ARRAY_SIZE(supported_modes),
99a7e6eda2d21df Shravan Chippa   2022-07-28  839                                
      width, height,
99a7e6eda2d21df Shravan Chippa   2022-07-28  840                                
      fmt->format.width, fmt->format.height);
99a7e6eda2d21df Shravan Chippa   2022-07-28  841  
9746b11715c3949 Martina Krasteva 2021-02-03  842        
imx334_fill_pad_format(imx334, mode, fmt);
9746b11715c3949 Martina Krasteva 2021-02-03  843  
9746b11715c3949 Martina Krasteva 2021-02-03  844        if (fmt->which == 
V4L2_SUBDEV_FORMAT_TRY) {
9746b11715c3949 Martina Krasteva 2021-02-03  845                struct 
v4l2_mbus_framefmt *framefmt;
9746b11715c3949 Martina Krasteva 2021-02-03  846  
0d346d2a6f54f06 Tomi Valkeinen   2021-06-10  847                framefmt = 
v4l2_subdev_get_try_format(sd, sd_state, fmt->pad);
9746b11715c3949 Martina Krasteva 2021-02-03  848                *framefmt = 
fmt->format;
99a7e6eda2d21df Shravan Chippa   2022-07-28  849        } else if 
(imx334->cur_mode != mode) {
9746b11715c3949 Martina Krasteva 2021-02-03  850                ret = 
imx334_update_controls(imx334, mode);
9746b11715c3949 Martina Krasteva 2021-02-03  851                if (!ret)
9746b11715c3949 Martina Krasteva 2021-02-03  852                        
imx334->cur_mode = mode;
9746b11715c3949 Martina Krasteva 2021-02-03  853        }
9746b11715c3949 Martina Krasteva 2021-02-03  854  
9746b11715c3949 Martina Krasteva 2021-02-03  855        
mutex_unlock(&imx334->mutex);
9746b11715c3949 Martina Krasteva 2021-02-03  856  
9746b11715c3949 Martina Krasteva 2021-02-03  857        return ret;
9746b11715c3949 Martina Krasteva 2021-02-03  858  }
9746b11715c3949 Martina Krasteva 2021-02-03  859  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to