tree: git://linuxtv.org/sailus/media_tree.git async-multi head: 08781366d65974d473692f519e0b4345584d3761 commit: 9d9ffd33e490ccef9273215b1f3141c358e0b7a2 [37/38] media: v4l: async: Set v4l2_device and subdev in async notifier init config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20230718/202307180320.jErFaHnP-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce: (https://download.01.org/0day-ci/archive/20230718/202307180320.jErFaHnP-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202307180320.jErFaHnP-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:770:34: error: field 'asd' has incomplete type 770 | struct v4l2_async_subdev asd; | ^~~ In file included from include/linux/bits.h:21, from include/linux/ioport.h:13, from include/linux/acpi.h:12, from drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:12: drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c: In function 'atomisp_notifier_bound': include/linux/compiler_types.h:338:27: error: expression in static assertion is not an integer 338 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:20:23: note: in expansion of macro '__same_type' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:774:33: note: in expansion of macro 'container_of' 774 | #define to_sensor_asd(a) container_of(a, struct sensor_async_subdev, asd) | ^~~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:783:45: note: in expansion of macro 'to_sensor_asd' 783 | struct sensor_async_subdev *s_asd = to_sensor_asd(asd); | ^~~~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c: In function 'atomisp_notifier_unbind': include/linux/compiler_types.h:338:27: error: expression in static assertion is not an integer 338 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert' 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~~~ include/linux/container_of.h:20:23: note: in expansion of macro '__same_type' 20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \ | ^~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:774:33: note: in expansion of macro 'container_of' 774 | #define to_sensor_asd(a) container_of(a, struct sensor_async_subdev, asd) | ^~~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:805:45: note: in expansion of macro 'to_sensor_asd' 805 | struct sensor_async_subdev *s_asd = to_sensor_asd(asd); | ^~~~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c: At top level: drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:819:18: error: initialization of 'int (*)(struct v4l2_async_notifier *, struct v4l2_subdev *, struct v4l2_async_connection *)' from incompatible pointer type 'int (*)(struct v4l2_async_notifier *, struct v4l2_subdev *, struct v4l2_async_subdev *)' [-Werror=incompatible-pointer-types] 819 | .bound = atomisp_notifier_bound, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:819:18: note: (near initialization for 'atomisp_async_ops.bound') drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:820:19: error: initialization of 'void (*)(struct v4l2_async_notifier *, struct v4l2_subdev *, struct v4l2_async_connection *)' from incompatible pointer type 'void (*)(struct v4l2_async_notifier *, struct v4l2_subdev *, struct v4l2_async_subdev *)' [-Werror=incompatible-pointer-types] 820 | .unbind = atomisp_notifier_unbind, | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:820:19: note: (near initialization for 'atomisp_async_ops.unbind') drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c: In function 'atomisp_csi2_bridge_parse_firmware': >> drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:828:9: error: too few arguments to function 'v4l2_async_nf_init' 828 | v4l2_async_nf_init(&isp->notifier); | ^~~~~~~~~~~~~~~~~~ In file included from include/media/v4l2-subdev.h:14, from drivers/staging/media/atomisp/pci/atomisp_cmd.h:28, from drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c:19: include/media/v4l2-async.h:159:6: note: declared here 159 | void v4l2_async_nf_init(struct v4l2_async_notifier *notifier, | ^~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- drivers/staging/media/atomisp/pci/atomisp_v4l2.c: In function 'atomisp_pci_probe': >> drivers/staging/media/atomisp/pci/atomisp_v4l2.c:1511:38: error: passing argument 1 of 'v4l2_async_nf_register' from incompatible pointer type [-Werror=incompatible-pointer-types] 1511 | err = v4l2_async_nf_register(&isp->v4l2_dev, &isp->notifier); | ^~~~~~~~~~~~~~ | | | struct v4l2_device * In file included from include/media/v4l2-subdev.h:14, from drivers/staging/media/atomisp//include/hmm/../../include/linux/atomisp_platform.h:25, from drivers/staging/media/atomisp//include/hmm/../../include/linux/atomisp_gmin_platform.h:19, from drivers/staging/media/atomisp/pci/atomisp_v4l2.c:34: include/media/v4l2-async.h:281:56: note: expected 'struct v4l2_async_notifier *' but argument is of type 'struct v4l2_device *' 281 | int v4l2_async_nf_register(struct v4l2_async_notifier *notifier); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ >> drivers/staging/media/atomisp/pci/atomisp_v4l2.c:1511:15: error: too many arguments to function 'v4l2_async_nf_register' 1511 | err = v4l2_async_nf_register(&isp->v4l2_dev, &isp->notifier); | ^~~~~~~~~~~~~~~~~~~~~~ include/media/v4l2-async.h:281:5: note: declared here 281 | int v4l2_async_nf_register(struct v4l2_async_notifier *notifier); | ^~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/v4l2_async_nf_init +828 drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c 8d28ec7e9145ef Hans de Goede 2023-05-25 823 8d28ec7e9145ef Hans de Goede 2023-05-25 824 int atomisp_csi2_bridge_parse_firmware(struct atomisp_device *isp) 8d28ec7e9145ef Hans de Goede 2023-05-25 825 { 8d28ec7e9145ef Hans de Goede 2023-05-25 826 int i, mipi_port, ret; 8d28ec7e9145ef Hans de Goede 2023-05-25 827 8d28ec7e9145ef Hans de Goede 2023-05-25 @828 v4l2_async_nf_init(&isp->notifier); :::::: The code at line 828 was first introduced by commit :::::: 8d28ec7e9145ef6308ab3438d73308ec6ea14360 media: atomisp: Add support for v4l2-async sensor registration :::::: TO: Hans de Goede <hdegoede@xxxxxxxxxx> :::::: CC: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki