[libcamera-devel] [PATCH v5 4/6] media: v4l2-subdev: Assume V4L2_SUBDEV_API is selected
Jacopo Mondi
jacopo at jmondi.org
Wed Apr 29 09:04:42 CEST 2020
Here it goes -.-'
I was hoping to have this going through kbuild soon
Would guarding the whole file handle operations and the ioctl handler
a best option then ?
On Wed, Apr 29, 2020 at 07:44:30AM +0800, kbuild test robot wrote:
> Hi Jacopo,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on linuxtv-media/master]
> [also build test ERROR on linus/master v5.7-rc3 next-20200428]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url: https://github.com/0day-ci/linux/commits/Jacopo-Mondi/media-Register-read-only-sub-dev-devnode/20200429-062133
> base: git://linuxtv.org/media_tree.git master
> config: arm-at91_dt_defconfig (attached as .config)
> compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp at intel.com>
>
> All errors (new ones prefixed by >>):
>
> drivers/media/v4l2-core/v4l2-subdev.c: In function 'subdev_fh_init':
> >> drivers/media/v4l2-core/v4l2-subdev.c:28:5: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 28 | fh->pad = v4l2_subdev_alloc_pad_config(sd);
> | ^~
> drivers/media/v4l2-core/v4l2-subdev.c:29:9: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 29 | if (fh->pad == NULL)
> | ^~
> drivers/media/v4l2-core/v4l2-subdev.c: In function 'subdev_fh_free':
> drivers/media/v4l2-core/v4l2-subdev.c:38:32: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 38 | v4l2_subdev_free_pad_config(fh->pad);
> | ^~
> drivers/media/v4l2-core/v4l2-subdev.c:39:4: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 39 | fh->pad = NULL;
> | ^~
> In file included from include/media/v4l2-device.h:13,
> from drivers/media/v4l2-core/v4l2-subdev.c:20:
> drivers/media/v4l2-core/v4l2-subdev.c: In function 'subdev_do_ioctl':
> drivers/media/v4l2-core/v4l2-subdev.c:469:54: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 469 | return v4l2_subdev_call(sd, pad, get_fmt, subdev_fh->pad, format);
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:469:54: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 469 | return v4l2_subdev_call(sd, pad, get_fmt, subdev_fh->pad, format);
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:480:54: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 480 | return v4l2_subdev_call(sd, pad, set_fmt, subdev_fh->pad, format);
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:480:54: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 480 | return v4l2_subdev_call(sd, pad, set_fmt, subdev_fh->pad, format);
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:494:37: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 494 | sd, pad, get_selection, subdev_fh->pad, &sel);
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:494:37: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 494 | sd, pad, get_selection, subdev_fh->pad, &sel);
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:516:37: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 516 | sd, pad, set_selection, subdev_fh->pad, &sel);
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:516:37: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 516 | sd, pad, set_selection, subdev_fh->pad, &sel);
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:527:61: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 527 | return v4l2_subdev_call(sd, pad, enum_mbus_code, subdev_fh->pad,
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:527:61: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 527 | return v4l2_subdev_call(sd, pad, enum_mbus_code, subdev_fh->pad,
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:535:62: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 535 | return v4l2_subdev_call(sd, pad, enum_frame_size, subdev_fh->pad,
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:535:62: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 535 | return v4l2_subdev_call(sd, pad, enum_frame_size, subdev_fh->pad,
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:560:66: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 560 | return v4l2_subdev_call(sd, pad, enum_frame_interval, subdev_fh->pad,
> | ^~
> include/media/v4l2-subdev.h:1111:16: note: in definition of macro 'v4l2_subdev_call'
> 1111 | __sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:560:66: error: 'struct v4l2_subdev_fh' has no member named 'pad'
> 560 | return v4l2_subdev_call(sd, pad, enum_frame_interval, subdev_fh->pad,
> | ^~
> include/media/v4l2-subdev.h:1113:39: note: in definition of macro 'v4l2_subdev_call'
> 1113 | __result = __sd->ops->o->f(__sd, ##args); \
> | ^~~~
> drivers/media/v4l2-core/v4l2-subdev.c:569:37: error: 'struct v4l2_subdev_fh' has no member named 'pad'
>
> vim +28 drivers/media/v4l2-core/v4l2-subdev.c
>
> 2096a5dcf9704f drivers/media/video/v4l2-subdev.c Laurent Pinchart 2009-12-09 24
> 7cd5a16b22af7d drivers/media/video/v4l2-subdev.c Stanimir Varbanov 2010-05-21 25 static int subdev_fh_init(struct v4l2_subdev_fh *fh, struct v4l2_subdev *sd)
> 7cd5a16b22af7d drivers/media/video/v4l2-subdev.c Stanimir Varbanov 2010-05-21 26 {
> 9b02cbb3ede89b drivers/media/v4l2-core/v4l2-subdev.c Laurent Pinchart 2015-04-24 27 if (sd->entity.num_pads) {
> 9b02cbb3ede89b drivers/media/v4l2-core/v4l2-subdev.c Laurent Pinchart 2015-04-24 @28 fh->pad = v4l2_subdev_alloc_pad_config(sd);
> ae184cda8d0eeb drivers/media/video/v4l2-subdev.c Sakari Ailus 2011-10-14 29 if (fh->pad == NULL)
> 7cd5a16b22af7d drivers/media/video/v4l2-subdev.c Stanimir Varbanov 2010-05-21 30 return -ENOMEM;
> 9b02cbb3ede89b drivers/media/v4l2-core/v4l2-subdev.c Laurent Pinchart 2015-04-24 31 }
> b9e6aad3939a62 drivers/media/v4l2-core/v4l2-subdev.c Jacopo Mondi 2020-04-28 32
> 7cd5a16b22af7d drivers/media/video/v4l2-subdev.c Stanimir Varbanov 2010-05-21 33 return 0;
> 7cd5a16b22af7d drivers/media/video/v4l2-subdev.c Stanimir Varbanov 2010-05-21 34 }
> 7cd5a16b22af7d drivers/media/video/v4l2-subdev.c Stanimir Varbanov 2010-05-21 35
>
> :::::: The code at line 28 was first introduced by commit
> :::::: 9b02cbb3ede89b5cd84bbe4ef493bd130d76b070 [media] v4l: subdev: Add pad config allocator and init
>
> :::::: TO: Laurent Pinchart <laurent.pinchart at linaro.org>
> :::::: CC: Mauro Carvalho Chehab <mchehab at osg.samsung.com>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
More information about the libcamera-devel
mailing list