drivers/media/i2c/ov5648.c:2035:39: warning: taking address of packed member 'handler' of class or structure 'ov5648_ctrls' may result in an unaligned pointer value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Paul,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   79e06c4c4950be2abd8ca5d2428a8c915aa62c24
commit: e43ccb0a045f34838b786e8021dc4838b4af5c38 media: i2c: Add support for the OV5648 image sensor
date:   1 year ago
config: mips-randconfig-r002-20220116 (https://download.01.org/0day-ci/archive/20220117/202201170727.bHmScZS3-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c63a3175c2947e8c1a2d3bbe16a8586600705c54)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e43ccb0a045f34838b786e8021dc4838b4af5c38
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e43ccb0a045f34838b786e8021dc4838b4af5c38
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/hid/ drivers/iio/adc/ drivers/media/i2c/ drivers/media/v4l2-core/ drivers/usb/gadget/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/media/i2c/ov5648.c:2035:39: warning: taking address of packed member 'handler' of class or structure 'ov5648_ctrls' may result in an unaligned pointer value [-Waddress-of-packed-member]
           struct v4l2_ctrl_handler *handler = &ctrls->handler;
                                                ^~~~~~~~~~~~~~
>> drivers/media/i2c/ov5648.c:2054:29: warning: taking address of packed member 'exposure_auto' of class or structure 'ov5648_ctrls' may result in an unaligned pointer value [-Waddress-of-packed-member]
           v4l2_ctrl_auto_cluster(2, &ctrls->exposure_auto, 1, true);
                                      ^~~~~~~~~~~~~~~~~~~~
>> drivers/media/i2c/ov5648.c:2064:29: warning: taking address of packed member 'gain_auto' of class or structure 'ov5648_ctrls' may result in an unaligned pointer value [-Waddress-of-packed-member]
           v4l2_ctrl_auto_cluster(2, &ctrls->gain_auto, 0, true);
                                      ^~~~~~~~~~~~~~~~
>> drivers/media/i2c/ov5648.c:2080:29: warning: taking address of packed member 'white_balance_auto' of class or structure 'ov5648_ctrls' may result in an unaligned pointer value [-Waddress-of-packed-member]
           v4l2_ctrl_auto_cluster(3, &ctrls->white_balance_auto, 0, false);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
   4 warnings generated.


vim +2035 drivers/media/i2c/ov5648.c

  2031	
  2032	static int ov5648_ctrls_init(struct ov5648_sensor *sensor)
  2033	{
  2034		struct ov5648_ctrls *ctrls = &sensor->ctrls;
> 2035		struct v4l2_ctrl_handler *handler = &ctrls->handler;
  2036		const struct v4l2_ctrl_ops *ops = &ov5648_ctrl_ops;
  2037		int ret;
  2038	
  2039		v4l2_ctrl_handler_init(handler, 32);
  2040	
  2041		/* Use our mutex for ctrl locking. */
  2042		handler->lock = &sensor->mutex;
  2043	
  2044		/* Exposure */
  2045	
  2046		ctrls->exposure_auto = v4l2_ctrl_new_std_menu(handler, ops,
  2047							      V4L2_CID_EXPOSURE_AUTO,
  2048							      V4L2_EXPOSURE_MANUAL, 0,
  2049							      V4L2_EXPOSURE_AUTO);
  2050	
  2051		ctrls->exposure = v4l2_ctrl_new_std(handler, ops, V4L2_CID_EXPOSURE,
  2052						    16, 1048575, 16, 512);
  2053	
> 2054		v4l2_ctrl_auto_cluster(2, &ctrls->exposure_auto, 1, true);
  2055	
  2056		/* Gain */
  2057	
  2058		ctrls->gain_auto =
  2059			v4l2_ctrl_new_std(handler, ops, V4L2_CID_AUTOGAIN, 0, 1, 1, 1);
  2060	
  2061		ctrls->gain = v4l2_ctrl_new_std(handler, ops, V4L2_CID_GAIN, 16, 1023,
  2062						16, 16);
  2063	
> 2064		v4l2_ctrl_auto_cluster(2, &ctrls->gain_auto, 0, true);
  2065	
  2066		/* White Balance */
  2067	
  2068		ctrls->white_balance_auto =
  2069			v4l2_ctrl_new_std(handler, ops, V4L2_CID_AUTO_WHITE_BALANCE, 0,
  2070					  1, 1, 1);
  2071	
  2072		ctrls->red_balance = v4l2_ctrl_new_std(handler, ops,
  2073						       V4L2_CID_RED_BALANCE, 0, 4095,
  2074						       1, 1024);
  2075	
  2076		ctrls->blue_balance = v4l2_ctrl_new_std(handler, ops,
  2077							V4L2_CID_BLUE_BALANCE, 0, 4095,
  2078							1, 1024);
  2079	
> 2080		v4l2_ctrl_auto_cluster(3, &ctrls->white_balance_auto, 0, false);
  2081	
  2082		/* Flip */
  2083	
  2084		v4l2_ctrl_new_std(handler, ops, V4L2_CID_HFLIP, 0, 1, 1, 0);
  2085		v4l2_ctrl_new_std(handler, ops, V4L2_CID_VFLIP, 0, 1, 1, 0);
  2086	
  2087		/* Test Pattern */
  2088	
  2089		v4l2_ctrl_new_std_menu_items(handler, ops, V4L2_CID_TEST_PATTERN,
  2090					     ARRAY_SIZE(ov5648_test_pattern_menu) - 1,
  2091					     0, 0, ov5648_test_pattern_menu);
  2092	
  2093		/* MIPI CSI-2 */
  2094	
  2095		ctrls->link_freq =
  2096			v4l2_ctrl_new_int_menu(handler, NULL, V4L2_CID_LINK_FREQ,
  2097					       ARRAY_SIZE(ov5648_link_freq_menu) - 1,
  2098					       0, ov5648_link_freq_menu);
  2099	
  2100		ctrls->pixel_rate =
  2101			v4l2_ctrl_new_std(handler, NULL, V4L2_CID_PIXEL_RATE, 1,
  2102					  INT_MAX, 1, 1);
  2103	
  2104		if (handler->error) {
  2105			ret = handler->error;
  2106			goto error_ctrls;
  2107		}
  2108	
  2109		ctrls->exposure->flags |= V4L2_CTRL_FLAG_VOLATILE;
  2110		ctrls->gain->flags |= V4L2_CTRL_FLAG_VOLATILE;
  2111	
  2112		ctrls->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY;
  2113		ctrls->pixel_rate->flags |= V4L2_CTRL_FLAG_READ_ONLY;
  2114	
  2115		sensor->subdev.ctrl_handler = handler;
  2116	
  2117		return 0;
  2118	
  2119	error_ctrls:
  2120		v4l2_ctrl_handler_free(handler);
  2121	
  2122		return ret;
  2123	}
  2124	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux