* [freescale-fslc:5.15-2.2.x-imx 472/20209] drivers/media/platform/mxc/capture/mx6s_capture.c:363:18: warning: no previous prototype for 'format_by_fourcc'
@ 2023-02-05 0:29 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-02-05 0:29 UTC (permalink / raw)
To: Otavio Salvador; +Cc: oe-kbuild-all
Hi Robby,
FYI, the error/warning still remains.
tree: https://github.com/Freescale/linux-fslc 5.15-2.2.x-imx
head: 3248ffcb12d15a0e40b9a020ba362591b8137923
commit: a0e0e25d3d53071262b9c64f8c2c8e9628766b48 [472/20209] media: v4l2 capture: add v4l2 capture driver based on csi
config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230205/202302050818.GPy3fQBx-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 12.1.0
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
# https://github.com/Freescale/linux-fslc/commit/a0e0e25d3d53071262b9c64f8c2c8e9628766b48
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc 5.15-2.2.x-imx
git checkout a0e0e25d3d53071262b9c64f8c2c8e9628766b48
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/accessibility/speakup/ drivers/base/power/ drivers/dma/ drivers/firmware/imx/ drivers/gpu/drm/bridge/ drivers/gpu/drm/imx/ drivers/i2c/busses/ drivers/input/touchscreen/ drivers/mailbox/ drivers/media/platform/mxc/capture/ drivers/mtd/nand/raw/gpmi-nand/ drivers/net/ethernet/freescale/ drivers/net/phy/ drivers/pci/controller/dwc/ drivers/pci/controller/mobiveil/ drivers/power/supply/ drivers/pwm/ drivers/regulator/ drivers/rpmsg/ drivers/soc/imx/ drivers/staging/ drivers/thermal/ drivers/video/fbdev/ net/ sound/soc/fsl/ sound/soc/sof/imx/ sound/soc/sof/intel/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/media/platform/mxc/capture/mx6s_capture.c:363:18: warning: no previous prototype for 'format_by_fourcc' [-Wmissing-prototypes]
363 | struct mx6s_fmt *format_by_fourcc(int fourcc)
| ^~~~~~~~~~~~~~~~
>> drivers/media/platform/mxc/capture/mx6s_capture.c:376:18: warning: no previous prototype for 'format_by_mbus' [-Wmissing-prototypes]
376 | struct mx6s_fmt *format_by_mbus(u32 code)
| ^~~~~~~~~~~~~~
>> drivers/media/platform/mxc/capture/mx6s_capture.c:394:6: warning: no previous prototype for 'csi_clk_enable' [-Wmissing-prototypes]
394 | void csi_clk_enable(struct mx6s_csi_dev *csi_dev)
| ^~~~~~~~~~~~~~
>> drivers/media/platform/mxc/capture/mx6s_capture.c:401:6: warning: no previous prototype for 'csi_clk_disable' [-Wmissing-prototypes]
401 | void csi_clk_disable(struct mx6s_csi_dev *csi_dev)
| ^~~~~~~~~~~~~~~
drivers/media/platform/mxc/capture/mx6s_capture.c: In function 'mx6s_vidioc_qbuf':
drivers/media/platform/mxc/capture/mx6s_capture.c:1368:45: error: passing argument 2 of 'vb2_qbuf' from incompatible pointer type [-Werror=incompatible-pointer-types]
1368 | return vb2_qbuf(&csi_dev->vb2_vidq, p);
| ^
| |
| struct v4l2_buffer *
In file included from include/media/videobuf2-dma-contig.h:16,
from drivers/media/platform/mxc/capture/mx6s_capture.c:46:
include/media/videobuf2-v4l2.h:151:56: note: expected 'struct media_device *' but argument is of type 'struct v4l2_buffer *'
151 | int vb2_qbuf(struct vb2_queue *q, struct media_device *mdev,
| ~~~~~~~~~~~~~~~~~~~~~^~~~
drivers/media/platform/mxc/capture/mx6s_capture.c:1368:16: error: too few arguments to function 'vb2_qbuf'
1368 | return vb2_qbuf(&csi_dev->vb2_vidq, p);
| ^~~~~~~~
include/media/videobuf2-v4l2.h:151:5: note: declared here
151 | int vb2_qbuf(struct vb2_queue *q, struct media_device *mdev,
| ^~~~~~~~
In file included from include/media/v4l2-device.h:13,
from drivers/media/platform/mxc/capture/mx6s_capture.c:43:
drivers/media/platform/mxc/capture/mx6s_capture.c: In function 'mx6s_vidioc_g_parm':
include/media/v4l2-subdev.h:1185:56: error: 'const struct v4l2_subdev_video_ops' has no member named 'g_parm'
1185 | else if (!(__sd->ops->o && __sd->ops->o->f)) \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1607:16: note: in expansion of macro 'v4l2_subdev_call'
1607 | return v4l2_subdev_call(sd, video, g_parm, a);
| ^~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:1188:53: error: 'const struct v4l2_subdev_video_ops' has no member named 'g_parm'
1188 | v4l2_subdev_call_wrappers.o->f) \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1607:16: note: in expansion of macro 'v4l2_subdev_call'
1607 | return v4l2_subdev_call(sd, video, g_parm, a);
| ^~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:1189:63: error: 'const struct v4l2_subdev_video_ops' has no member named 'g_parm'
1189 | __result = v4l2_subdev_call_wrappers.o->f( \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1607:16: note: in expansion of macro 'v4l2_subdev_call'
1607 | return v4l2_subdev_call(sd, video, g_parm, a);
| ^~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:1192:48: error: 'const struct v4l2_subdev_video_ops' has no member named 'g_parm'
1192 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1607:16: note: in expansion of macro 'v4l2_subdev_call'
1607 | return v4l2_subdev_call(sd, video, g_parm, a);
| ^~~~~~~~~~~~~~~~
drivers/media/platform/mxc/capture/mx6s_capture.c: In function 'mx6s_vidioc_s_parm':
include/media/v4l2-subdev.h:1185:56: error: 'const struct v4l2_subdev_video_ops' has no member named 's_parm'
1185 | else if (!(__sd->ops->o && __sd->ops->o->f)) \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1616:16: note: in expansion of macro 'v4l2_subdev_call'
1616 | return v4l2_subdev_call(sd, video, s_parm, a);
| ^~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:1188:53: error: 'const struct v4l2_subdev_video_ops' has no member named 's_parm'
1188 | v4l2_subdev_call_wrappers.o->f) \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1616:16: note: in expansion of macro 'v4l2_subdev_call'
1616 | return v4l2_subdev_call(sd, video, s_parm, a);
| ^~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:1189:63: error: 'const struct v4l2_subdev_video_ops' has no member named 's_parm'
1189 | __result = v4l2_subdev_call_wrappers.o->f( \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1616:16: note: in expansion of macro 'v4l2_subdev_call'
1616 | return v4l2_subdev_call(sd, video, s_parm, a);
| ^~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:1192:48: error: 'const struct v4l2_subdev_video_ops' has no member named 's_parm'
1192 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~
drivers/media/platform/mxc/capture/mx6s_capture.c:1616:16: note: in expansion of macro 'v4l2_subdev_call'
1616 | return v4l2_subdev_call(sd, video, s_parm, a);
| ^~~~~~~~~~~~~~~~
drivers/media/platform/mxc/capture/mx6s_capture.c: At top level:
drivers/media/platform/mxc/capture/mx6s_capture.c:1692:10: error: 'const struct v4l2_ioctl_ops' has no member named 'vidioc_cropcap'; did you mean 'vidioc_querycap'?
1692 | .vidioc_cropcap = mx6s_vidioc_cropcap,
| ^~~~~~~~~~~~~~
| vidioc_querycap
drivers/media/platform/mxc/capture/mx6s_capture.c:1692:33: error: initialization of 'int (*)(struct file *, void *, struct v4l2_format *)' from incompatible pointer type 'int (*)(struct file *, void *, struct v4l2_cropcap *)' [-Werror=incompatible-pointer-types]
1692 | .vidioc_cropcap = mx6s_vidioc_cropcap,
| ^~~~~~~~~~~~~~~~~~~
drivers/media/platform/mxc/capture/mx6s_capture.c:1692:33: note: (near initialization for 'mx6s_csi_ioctl_ops.vidioc_s_fmt_vid_overlay')
drivers/media/platform/mxc/capture/mx6s_capture.c:1693:10: error: 'const struct v4l2_ioctl_ops' has no member named 'vidioc_s_crop'; did you mean 'vidioc_s_ctrl'?
1693 | .vidioc_s_crop = mx6s_vidioc_s_crop,
| ^~~~~~~~~~~~~
| vidioc_s_ctrl
drivers/media/platform/mxc/capture/mx6s_capture.c:1693:33: error: initialization of 'int (*)(struct file *, void *, struct v4l2_format *)' from incompatible pointer type 'int (*)(struct file *, void *, const struct v4l2_crop *)' [-Werror=incompatible-pointer-types]
1693 | .vidioc_s_crop = mx6s_vidioc_s_crop,
| ^~~~~~~~~~~~~~~~~~
drivers/media/platform/mxc/capture/mx6s_capture.c:1693:33: note: (near initialization for 'mx6s_csi_ioctl_ops.vidioc_s_fmt_vid_out')
drivers/media/platform/mxc/capture/mx6s_capture.c:1694:10: error: 'const struct v4l2_ioctl_ops' has no member named 'vidioc_g_crop'; did you mean 'vidioc_g_ctrl'?
1694 | .vidioc_g_crop = mx6s_vidioc_g_crop,
| ^~~~~~~~~~~~~
| vidioc_g_ctrl
drivers/media/platform/mxc/capture/mx6s_capture.c:1694:33: error: initialization of 'int (*)(struct file *, void *, struct v4l2_format *)' from incompatible pointer type 'int (*)(struct file *, void *, struct v4l2_crop *)' [-Werror=incompatible-pointer-types]
1694 | .vidioc_g_crop = mx6s_vidioc_g_crop,
| ^~~~~~~~~~~~~~~~~~
drivers/media/platform/mxc/capture/mx6s_capture.c:1694:33: note: (near initialization for 'mx6s_csi_ioctl_ops.vidioc_s_fmt_vid_out_overlay')
drivers/media/platform/mxc/capture/mx6s_capture.c: In function 'mx6sx_register_subdevs':
drivers/media/platform/mxc/capture/mx6s_capture.c:1826:33: error: 'struct v4l2_async_notifier' has no member named 'subdevs'
1826 | csi_dev->subdev_notifier.subdevs = csi_dev->async_subdevs;
| ^
vim +/format_by_fourcc +363 drivers/media/platform/mxc/capture/mx6s_capture.c
362
> 363 struct mx6s_fmt *format_by_fourcc(int fourcc)
364 {
365 int i;
366
367 for (i = 0; i < NUM_FORMATS; i++) {
368 if (formats[i].pixelformat == fourcc)
369 return formats + i;
370 }
371
372 pr_err("unknown pixelformat:'%4.4s'\n", (char *)&fourcc);
373 return NULL;
374 }
375
> 376 struct mx6s_fmt *format_by_mbus(u32 code)
377 {
378 int i;
379
380 for (i = 0; i < NUM_FORMATS; i++) {
381 if (formats[i].mbus_code == code)
382 return formats + i;
383 }
384
385 pr_err("unknown mbus:0x%x\n", code);
386 return NULL;
387 }
388
389 static struct mx6s_buffer *mx6s_ibuf_to_buf(struct mx6s_buf_internal *int_buf)
390 {
391 return container_of(int_buf, struct mx6s_buffer, internal);
392 }
393
> 394 void csi_clk_enable(struct mx6s_csi_dev *csi_dev)
395 {
396 clk_prepare_enable(csi_dev->clk_disp_axi);
397 clk_prepare_enable(csi_dev->clk_disp_dcic);
398 clk_prepare_enable(csi_dev->clk_csi_mclk);
399 }
400
> 401 void csi_clk_disable(struct mx6s_csi_dev *csi_dev)
402 {
403 clk_disable_unprepare(csi_dev->clk_csi_mclk);
404 clk_disable_unprepare(csi_dev->clk_disp_dcic);
405 clk_disable_unprepare(csi_dev->clk_disp_axi);
406 }
407
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-02-05 0:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-05 0:29 [freescale-fslc:5.15-2.2.x-imx 472/20209] drivers/media/platform/mxc/capture/mx6s_capture.c:363:18: warning: no previous prototype for 'format_by_fourcc' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.