* drivers/media/platform/renesas/sh_vou.c:981:57: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type
@ 2026-08-30 19:10 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-30 19:10 UTC (permalink / raw)
To: Sakari Ailus; +Cc: oe-kbuild-all, 0day robot
tree: https://github.com/intel-lab-lkp/linux/commits/Sakari-Ailus/media-Documentation-Improve-pixel-rate-calculation-documentation/20260807-004311
head: e0a6fe294ffbd4c2f0fae9bd3e777bc9375161dc
commit: e0a6fe294ffbd4c2f0fae9bd3e777bc9375161dc media: v4l2-subdev: Add struct v4l2_subdev_client_info pointer to pad ops
date: 3 weeks ago
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20260830/202608302104.TikGbJ1M-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260830/202608302104.TikGbJ1M-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608302104.TikGbJ1M-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/media/platform/renesas/sh_vou.c:24:
drivers/media/platform/renesas/sh_vou.c: In function 'sh_vou_s_selection':
>> drivers/media/platform/renesas/sh_vou.c:981:57: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
981 | set_fmt, NULL, &format);
| ^~~~~~~
| |
| struct v4l2_subdev_format *
include/media/v4l2-device.h:356:58: note: in definition of macro '__v4l2_device_call_subdevs_until_err_p'
356 | __err = (sd)->ops->o->f((sd) , ##args); \
| ^~~~
drivers/media/platform/renesas/sh_vou.c:980:15: note: in expansion of macro 'v4l2_device_call_until_err'
980 | ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/renesas/sh_vou.c:981:57: note: expected 'struct v4l2_subdev_state *' but argument is of type 'struct v4l2_subdev_format *'
include/media/v4l2-device.h:356:58: note: in definition of macro '__v4l2_device_call_subdevs_until_err_p'
356 | __err = (sd)->ops->o->f((sd) , ##args); \
| ^~~~
drivers/media/platform/renesas/sh_vou.c:980:15: note: in expansion of macro 'v4l2_device_call_until_err'
980 | ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-device.h:356:33: error: too few arguments to function '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt'; expected 4, have 3
356 | __err = (sd)->ops->o->f((sd) , ##args); \
| ^
include/media/v4l2-device.h:448:9: note: in expansion of macro '__v4l2_device_call_subdevs_until_err_p'
448 | __v4l2_device_call_subdevs_until_err_p(v4l2_dev, __sd, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/renesas/sh_vou.c:980:15: note: in expansion of macro 'v4l2_device_call_until_err'
980 | ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/media/v4l2-device.h:13:
include/media/v4l2-subdev.h:856:15: note: declared here
856 | int (*set_fmt)(struct v4l2_subdev *sd,
| ^~~~~~~
--
>> drivers/staging/media/max96712/max96712.c:267:20: error: initialization of 'int (*)(struct v4l2_subdev *, const struct v4l2_subdev_client_info *, struct v4l2_subdev_state *, struct v4l2_subdev_format *)' from incompatible pointer type 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, struct v4l2_subdev_format *)' [-Wincompatible-pointer-types]
267 | .set_fmt = v4l2_subdev_get_fmt,
| ^~~~~~~~~~~~~~~~~~~
drivers/staging/media/max96712/max96712.c:267:20: note: (near initialization for 'max96712_pad_ops.set_fmt')
In file included from drivers/staging/media/max96712/max96712.c:17:
include/media/v4l2-subdev.h:1477:5: note: 'v4l2_subdev_get_fmt' declared here
1477 | int v4l2_subdev_get_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_state *state,
| ^~~~~~~~~~~~~~~~~~~
--
In file included from include/media/v4l2-device.h:13,
from drivers/media/platform/st/stm32/stm32-dcmi.c:33:
drivers/media/platform/st/stm32/stm32-dcmi.c: In function 'dcmi_try_fmt':
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/st/stm32/stm32-dcmi.c:1066:70: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~
| |
| struct v4l2_subdev_format *
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:70: note: expected 'struct v4l2_subdev_state *' but argument is of type 'struct v4l2_subdev_format *'
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-subdev.h:1979:36: error: too few arguments to function '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt'; expected 4, have 3
1979 | __result = v4l2_subdev_call_wrappers.o->f( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:36: note: in expansion of macro 'v4l2_subdev_call'
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~~~~~~~~~~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:856:15: note: declared here
856 | int (*set_fmt)(struct v4l2_subdev *sd,
| ^~~~~~~
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/st/stm32/stm32-dcmi.c:1066:70: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~
| |
| struct v4l2_subdev_format *
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:70: note: expected 'struct v4l2_subdev_state *' but argument is of type 'struct v4l2_subdev_format *'
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-subdev.h:1982:36: error: too few arguments to function '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt'; expected 4, have 3
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
include/media/v4l2-subdev.h:2047:36: note: in expansion of macro 'v4l2_subdev_call'
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~~~~~~~~~~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:856:15: note: declared here
856 | int (*set_fmt)(struct v4l2_subdev *sd,
| ^~~~~~~
drivers/media/platform/st/stm32/stm32-dcmi.c: In function 'dcmi_set_sensor_format':
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
drivers/media/platform/st/stm32/stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from sh_vou.c:24:
sh_vou.c: In function 'sh_vou_s_selection':
sh_vou.c:981:57: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
981 | set_fmt, NULL, &format);
| ^~~~~~~
| |
| struct v4l2_subdev_format *
include/media/v4l2-device.h:356:58: note: in definition of macro '__v4l2_device_call_subdevs_until_err_p'
356 | __err = (sd)->ops->o->f((sd) , ##args); \
| ^~~~
sh_vou.c:980:15: note: in expansion of macro 'v4l2_device_call_until_err'
980 | ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
sh_vou.c:981:57: note: expected 'struct v4l2_subdev_state *' but argument is of type 'struct v4l2_subdev_format *'
include/media/v4l2-device.h:356:58: note: in definition of macro '__v4l2_device_call_subdevs_until_err_p'
356 | __err = (sd)->ops->o->f((sd) , ##args); \
| ^~~~
sh_vou.c:980:15: note: in expansion of macro 'v4l2_device_call_until_err'
980 | ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-device.h:356:33: error: too few arguments to function '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt'; expected 4, have 3
356 | __err = (sd)->ops->o->f((sd) , ##args); \
| ^
include/media/v4l2-device.h:448:9: note: in expansion of macro '__v4l2_device_call_subdevs_until_err_p'
448 | __v4l2_device_call_subdevs_until_err_p(v4l2_dev, __sd, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sh_vou.c:980:15: note: in expansion of macro 'v4l2_device_call_until_err'
980 | ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/media/v4l2-device.h:13:
include/media/v4l2-subdev.h:856:15: note: declared here
856 | int (*set_fmt)(struct v4l2_subdev *sd,
| ^~~~~~~
--
In file included from include/media/v4l2-device.h:13,
from stm32-dcmi.c:33:
stm32-dcmi.c: In function 'dcmi_try_fmt':
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
stm32-dcmi.c:1066:70: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~
| |
| struct v4l2_subdev_format *
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
stm32-dcmi.c:1066:70: note: expected 'struct v4l2_subdev_state *' but argument is of type 'struct v4l2_subdev_format *'
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-subdev.h:1979:36: error: too few arguments to function '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt'; expected 4, have 3
1979 | __result = v4l2_subdev_call_wrappers.o->f( \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:36: note: in expansion of macro 'v4l2_subdev_call'
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~~~~~~~~~~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:856:15: note: declared here
856 | int (*set_fmt)(struct v4l2_subdev *sd,
| ^~~~~~~
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
stm32-dcmi.c:1066:70: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~
| |
| struct v4l2_subdev_format *
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
stm32-dcmi.c:1066:70: note: expected 'struct v4l2_subdev_state *' but argument is of type 'struct v4l2_subdev_format *'
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-subdev.h:1982:36: error: too few arguments to function '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt'; expected 4, have 3
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
include/media/v4l2-subdev.h:2047:36: note: in expansion of macro 'v4l2_subdev_call'
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~~~~~~~~~~~~
stm32-dcmi.c:1066:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1066 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, &format);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:856:15: note: declared here
856 | int (*set_fmt)(struct v4l2_subdev *sd,
| ^~~~~~~
stm32-dcmi.c: In function 'dcmi_set_sensor_format':
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)v4l2_subdev_call_wrappers.pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1980:65: note: in definition of macro 'v4l2_subdev_call'
1980 | __sd, ##args); \
| ^~~~
stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/media/v4l2-subdev.h:2047:63: error: passing argument 2 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type [-Wincompatible-pointer-types]
2047 | __result = v4l2_subdev_call(sd, o, f, state, ##args); \
| ^~~~~
| |
| struct v4l2_subdev_state *
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/media/v4l2-subdev.h:2047:63: note: expected 'const struct v4l2_subdev_client_info *' but argument is of type 'struct v4l2_subdev_state *'
include/media/v4l2-subdev.h:1982:60: note: in definition of macro 'v4l2_subdev_call'
1982 | __result = __sd->ops->o->f(__sd, ##args); \
| ^~~~
stm32-dcmi.c:1227:15: note: in expansion of macro 'v4l2_subdev_call_state_try'
1227 | ret = v4l2_subdev_call_state_try(dcmi->source, pad, set_fmt, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +981 drivers/media/platform/renesas/sh_vou.c
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 919
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 920 /* Assume a dull encoder, do all the work ourselves. */
61fbacc115731d drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 921 static int sh_vou_s_selection(struct file *file, void *fh,
61fbacc115731d drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 922 struct v4l2_selection *sel)
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 923 {
61fbacc115731d drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 924 struct v4l2_rect *rect = &sel->r;
fd51625d6331c8 drivers/media/platform/sh_vou.c Laurent Pinchart 2013-01-03 925 struct sh_vou_device *vou_dev = video_drvdata(file);
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 926 struct v4l2_subdev_selection sd_sel = {
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 927 .which = V4L2_SUBDEV_FORMAT_ACTIVE,
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 928 .target = V4L2_SEL_TGT_COMPOSE,
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 929 };
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 930 struct v4l2_pix_format *pix = &vou_dev->pix;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 931 struct sh_vou_geometry geo;
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 932 struct v4l2_subdev_format format = {
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 933 .which = V4L2_SUBDEV_FORMAT_ACTIVE,
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 934 /* Revisit: is this the correct code? */
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 935 .format.code = MEDIA_BUS_FMT_YUYV8_2X8,
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 936 .format.field = V4L2_FIELD_INTERLACED,
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 937 .format.colorspace = V4L2_COLORSPACE_SMPTE170M,
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 938 };
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 939 unsigned int img_height_max;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 940 int ret;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 941
61fbacc115731d drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 942 if (sel->type != V4L2_BUF_TYPE_VIDEO_OUTPUT ||
61fbacc115731d drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 943 sel->target != V4L2_SEL_TGT_COMPOSE)
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 944 return -EINVAL;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 945
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 946 if (vb2_is_busy(&vou_dev->queue))
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 947 return -EBUSY;
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 948
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 949 if (vou_dev->std & V4L2_STD_525_60)
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 950 img_height_max = 480;
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 951 else
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 952 img_height_max = 576;
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 953
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 954 v4l_bound_align_image(&rect->width,
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 955 VOU_MIN_IMAGE_WIDTH, VOU_MAX_IMAGE_WIDTH, 1,
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 956 &rect->height,
57af3ad59d953f drivers/media/platform/sh_vou.c Hans Verkuil 2015-06-07 957 VOU_MIN_IMAGE_HEIGHT, img_height_max, 1, 0);
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 958
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 959 if (rect->width + rect->left > VOU_MAX_IMAGE_WIDTH)
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 960 rect->left = VOU_MAX_IMAGE_WIDTH - rect->width;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 961
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 962 if (rect->height + rect->top > img_height_max)
765fe17c4f018c drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-07-29 963 rect->top = img_height_max - rect->height;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 964
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 965 geo.output = *rect;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 966 geo.in_width = pix->width;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 967 geo.in_height = pix->height;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 968
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 969 /* Configure the encoder one-to-one, position at 0, ignore errors */
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 970 sd_sel.r.width = geo.output.width;
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 971 sd_sel.r.height = geo.output.height;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 972 /*
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 973 * We first issue a S_SELECTION, so that the subsequent S_FMT delivers the
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 974 * final encoder configuration.
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 975 */
10d5509c8d50a2 drivers/media/platform/sh_vou.c Hans Verkuil 2015-12-14 976 v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
e0a6fe294ffbd4 drivers/media/platform/renesas/sh_vou.c Sakari Ailus 2026-06-08 977 set_selection, NULL, NULL, &sd_sel);
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 978 format.format.width = geo.output.width;
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 979 format.format.height = geo.output.height;
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 980 ret = v4l2_device_call_until_err(&vou_dev->v4l2_dev, 0, pad,
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 @981 set_fmt, NULL, &format);
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 982 /* Must be implemented, so, don't check for -ENOIOCTLCMD */
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 983 if (ret < 0)
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 984 return ret;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 985
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 986 /* Sanity checks */
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 987 if ((unsigned)format.format.width > VOU_MAX_IMAGE_WIDTH ||
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 988 (unsigned)format.format.height > img_height_max ||
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 989 format.format.code != MEDIA_BUS_FMT_YUYV8_2X8)
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 990 return -EIO;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 991
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 992 geo.output.width = format.format.width;
ebf984bb151e99 drivers/media/platform/sh_vou.c Hans Verkuil 2015-04-09 993 geo.output.height = format.format.height;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 994
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 995 /*
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 996 * No down-scaling. According to the API, current call has precedence:
02e6d2eaa9c3f7 drivers/media/platform/sh_vou.c Ricardo Ribalda 2018-11-09 997 * https://linuxtv.org/downloads/v4l-dvb-apis/uapi/v4l/crop.html#cropping-structures
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 998 */
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 999 vou_adjust_input(&geo, vou_dev->std);
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1000
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1001 /* We tried to preserve output rectangle, but it could have changed */
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1002 vou_dev->rect = geo.output;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1003 pix->width = geo.in_width;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1004 pix->height = geo.in_height;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1005
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1006 sh_vou_configure_geometry(vou_dev, vou_dev->pix_idx,
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1007 geo.scale_idx_h, geo.scale_idx_v);
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1008
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1009 return 0;
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1010 }
a81fb9b223508f drivers/media/video/sh_vou.c Guennadi Liakhovetski 2010-03-17 1011
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-30 19:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-30 19:10 drivers/media/platform/renesas/sh_vou.c:981:57: error: passing argument 3 of '((const struct v4l2_subdev_pad_ops *)__sd->ops->pad)->set_fmt' from incompatible pointer type 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.