Message ID | 20240419-fix-cocci-v2-0-2119e692309c@chromium.org |
---|---|
Headers | show |
Series | media: Fix coccinelle warning/errors | expand |
Hi Ricardo, On Fri, Apr 19, 2024 at 09:47:49AM +0000, Ricardo Ribalda wrote: > Avoid using the iterators after the list_for_each() constructs. > This patch should be a NOP, but makes cocci, happier: > > drivers/media/usb/uvc/uvc_ctrl.c:1861:44-50: ERROR: invalid reference to the index variable of the iterator on line 1850 > drivers/media/usb/uvc/uvc_ctrl.c:2195:17-23: ERROR: invalid reference to the index variable of the iterator on line 2179 > > Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > drivers/media/usb/uvc/uvc_ctrl.c | 24 +++++++++++++----------- > 1 file changed, 13 insertions(+), 11 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c > index e59a463c2761..a4a987913430 100644 > --- a/drivers/media/usb/uvc/uvc_ctrl.c > +++ b/drivers/media/usb/uvc/uvc_ctrl.c > @@ -1850,16 +1850,18 @@ int __uvc_ctrl_commit(struct uvc_fh *handle, int rollback, > list_for_each_entry(entity, &chain->entities, chain) { What happened to https://lore.kernel.org/all/20220301075839.4156-1-xiam0nd.tong@gmail.com/ ? :'-( Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > ret = uvc_ctrl_commit_entity(chain->dev, entity, rollback, > &err_ctrl); > - if (ret < 0) > + if (ret < 0) { > + if (ctrls) > + ctrls->error_idx = > + uvc_ctrl_find_ctrl_idx(entity, ctrls, > + err_ctrl); > goto done; > + } > } > > if (!rollback) > uvc_ctrl_send_events(handle, ctrls->controls, ctrls->count); > done: > - if (ret < 0 && ctrls) > - ctrls->error_idx = uvc_ctrl_find_ctrl_idx(entity, ctrls, > - err_ctrl); > mutex_unlock(&chain->ctrl_mutex); > return ret; > } > @@ -2165,7 +2167,7 @@ static int uvc_ctrl_init_xu_ctrl(struct uvc_device *dev, > int uvc_xu_ctrl_query(struct uvc_video_chain *chain, > struct uvc_xu_control_query *xqry) > { > - struct uvc_entity *entity; > + struct uvc_entity *entity, *iter; > struct uvc_control *ctrl; > unsigned int i; > bool found; > @@ -2175,16 +2177,16 @@ int uvc_xu_ctrl_query(struct uvc_video_chain *chain, > int ret; > > /* Find the extension unit. */ > - found = false; > - list_for_each_entry(entity, &chain->entities, chain) { > - if (UVC_ENTITY_TYPE(entity) == UVC_VC_EXTENSION_UNIT && > - entity->id == xqry->unit) { > - found = true; > + entity = NULL; > + list_for_each_entry(iter, &chain->entities, chain) { > + if (UVC_ENTITY_TYPE(iter) == UVC_VC_EXTENSION_UNIT && > + iter->id == xqry->unit) { > + entity = iter; > break; > } > } > > - if (!found) { > + if (!entity) { > uvc_dbg(chain->dev, CONTROL, "Extension unit %u not found\n", > xqry->unit); > return -ENOENT;
On 19/04/2024 10:48, Ricardo Ribalda wrote: > Unless the fps is smaller than 0.000232829 fps, this fits in a 32 bit > number. Make that explicit. > > Found by cocci: > drivers/media/platform/qcom/venus/vdec.c:488:1-7: WARNING: do_div() does a 64-by-32 division, please consider using div64_u64 instead. > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > drivers/media/platform/qcom/venus/vdec.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c > index 29130a9441e7..2b2874aedb2d 100644 > --- a/drivers/media/platform/qcom/venus/vdec.c > +++ b/drivers/media/platform/qcom/venus/vdec.c > @@ -464,7 +464,7 @@ static int vdec_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a) > struct venus_inst *inst = to_inst(file); > struct v4l2_captureparm *cap = &a->parm.capture; > struct v4l2_fract *timeperframe = &cap->timeperframe; > - u64 us_per_frame, fps; > + u64 us_per_frame; > > if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE && > a->type != V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) > @@ -484,10 +484,7 @@ static int vdec_s_parm(struct file *file, void *fh, struct v4l2_streamparm *a) > if (!us_per_frame) > return -EINVAL; > > - fps = (u64)USEC_PER_SEC; > - do_div(fps, us_per_frame); > - > - inst->fps = fps; > + inst->fps = USEC_PER_SEC / (u32)us_per_frame; > inst->timeperframe = *timeperframe; > > return 0; > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
On 19/04/2024 10:47, Ricardo Ribalda wrote: > The struct resource end field is inclusive not exclusive, this is, the > size is (end - start) +1. ", this is," doesn't parse on my end "i.e" => that is, would be more appropriate I think. "The struct resource end field is inclusive not exclusive of the size" which I still think is a confusing statement. Perhaps something much easier to understand is called for "The struct resource end field signifies the end address not the relative offset from the start field i.e size == (end - start) + 1. Amend the .end field to specify the end address not the relative size from the offset as is currently given." Other than that, I think its reasonable to assume the mapping != 0 - 0x100 inclusive. Please consider updating your commit log and if you do add my Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- bod
On 19/04/2024 10:47, Ricardo Ribalda wrote: > It makes the code simpler and cocci happier: > > drivers/media/usb/go7007/go7007-fw.c:1292:14-15: WARNING opportunity for max() > drivers/media/usb/go7007/go7007-fw.c:1293:14-15: WARNING opportunity for min() > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > drivers/media/usb/go7007/go7007-fw.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/usb/go7007/go7007-fw.c b/drivers/media/usb/go7007/go7007-fw.c > index 018019ba47d4..86ce593e0c54 100644 > --- a/drivers/media/usb/go7007/go7007-fw.c > +++ b/drivers/media/usb/go7007/go7007-fw.c > @@ -1289,8 +1289,8 @@ static int avsync_to_package(struct go7007 *go, __le16 *code, int space) > 0xbf99, (u16)((-adjratio) >> 16), > 0xbf92, 0, > 0xbf93, 0, > - 0xbff4, f1 > f2 ? f1 : f2, > - 0xbff5, f1 < f2 ? f1 : f2, > + 0xbff4, max(f1, f2), > + 0xbff5, min(f1, f2), > 0xbff6, f1 < f2 ? ratio : ratio + 1, > 0xbff7, f1 > f2 ? ratio : ratio + 1, > 0xbff8, 0, > Code is correct, but the commit log could use some expansion. Suggest: "Replace ternary inline selection of f1 and f2 min max values with min() and max() helper functions for the sake of readability and to make coccinelle happier" You can take the RB either way though Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
On 19/04/2024 10:47, Ricardo Ribalda wrote: > Return 0 without checking IS_ERR or PTR_ERR if CONFIG_MEDIA_CONTROLLER > is not enabled. > > This makes cocci happier: > > drivers/media/v4l2-core/v4l2-async.c:331:23-30: ERROR: PTR_ERR applied after initialization to constant on line 319 > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > drivers/media/v4l2-core/v4l2-async.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c > index 4bb073587817..915a9f3ea93c 100644 > --- a/drivers/media/v4l2-core/v4l2-async.c > +++ b/drivers/media/v4l2-core/v4l2-async.c > @@ -316,9 +316,10 @@ v4l2_async_nf_try_all_subdevs(struct v4l2_async_notifier *notifier); > static int v4l2_async_create_ancillary_links(struct v4l2_async_notifier *n, > struct v4l2_subdev *sd) > { > - struct media_link *link = NULL; > + struct media_link *link; > > -#if IS_ENABLED(CONFIG_MEDIA_CONTROLLER) > + if (!IS_ENABLED(CONFIG_MEDIA_CONTROLLER)) > + return 0; > > if (sd->entity.function != MEDIA_ENT_F_LENS && > sd->entity.function != MEDIA_ENT_F_FLASH) > @@ -326,8 +327,6 @@ static int v4l2_async_create_ancillary_links(struct v4l2_async_notifier *n, > > link = media_create_ancillary_link(&n->sd->entity, &sd->entity); > > -#endif > - > return IS_ERR(link) ? PTR_ERR(link) : 0; > } > > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- bod
On 19/04/2024 11:47, Ricardo Ribalda wrote: > After this set is applied, these are the only warnings left: > drivers/media/pci/ivtv/ivtv-fileops.c:223:4-10: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:230:3-9: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:236:4-10: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:245:3-9: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:251:3-9: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:257:3-9: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:272:3-9: preceding lock on line 267 > drivers/media/pci/ivtv/ivtv-fileops.c:598:4-10: preceding lock on line 627 > drivers/media/pci/ivtv/ivtv-fileops.c:598:4-10: preceding lock on line 689 > drivers/media/pci/ivtv/ivtv-fileops.c:606:3-9: preceding lock on line 627 > drivers/media/pci/ivtv/ivtv-fileops.c:606:3-9: preceding lock on line 689 > drivers/media/pci/ivtv/ivtv-fileops.c:648:3-9: preceding lock on line 627 > drivers/media/pci/ivtv/ivtv-fileops.c:648:3-9: preceding lock on line 689 > drivers/media/pci/ivtv/ivtv-fileops.c:692:4-10: preceding lock on line 689 > drivers/media/dvb-core/dvb_frontend.c:2897:1-7: preceding lock on line 2776 > drivers/media/dvb-core/dvb_frontend.c:2897:1-7: preceding lock on line 2786 > drivers/media/dvb-core/dvb_frontend.c:2897:1-7: preceding lock on line 2809 > drivers/media/dvb-frontends/stv090x.c:799:1-7: preceding lock on line 768 > drivers/media/usb/go7007/go7007-i2c.c:125:1-7: preceding lock on line 61 > drivers/media/rc/imon.c:1167:1-7: preceding lock on line 1153 > drivers/media/pci/cx18/cx18-scb.h:261:22-29: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:77:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:85:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:154:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:171:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:180:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:189:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:201:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:220:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_cmds.h:230:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:764:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1008:43-60: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1014:36-46: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1041:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1088:39-51: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1093:5-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1144:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1239:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1267:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/qcom/venus/hfi_helper.h:1272:4-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/common/siano/smscoreapi.h:619:5-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/common/siano/smscoreapi.h:669:6-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/common/siano/smscoreapi.h:1049:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/common/siano/smscoreapi.h:1055:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/dvb-frontends/mxl5xx_defs.h:171:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/dvb-frontends/mxl5xx_defs.h:182:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/allegro-dvt/nal-hevc.h:102:14-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/media/platform/xilinx/xilinx-dma.h:100:19-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > drivers/staging/media/atomisp/pci/atomisp_tpg.h:30:18-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > > CI tested: > https://gitlab.freedesktop.org/linux-media/media-staging/-/commit/055b5211c68e721c3a7090be5373cf44859da1a7/pipelines?ref=ribalda%2Ftest-cocci Other than what others already reported, plus my own two comments, this series looks good. So likely I can pick up v3 once it is posted. Regards, Hans > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > Changes in v2: > - Remove all the min() retval, and send a patch for cocci: https://lore.kernel.org/lkml/20240415-minimax-v1-1-5feb20d66a79@chromium.org/T/#u > - platform_get_irq() cannot return 0, fix that (Thanks Dan). > - Fix stb0800 patch. chip_id can be 0 (Thanks Dan). > - Use runtime (IS_ENABLED), code looks nicer. (Thanks Dan). > - Do not replace do_div for venus (Thanks Dan). > - Do not replace do_div for tda10048 (Thanks Dan). > - Link to v1: https://lore.kernel.org/r/20240415-fix-cocci-v1-0-477afb23728b@chromium.org > > --- > Ricardo Ribalda (26): > media: pci: mgb4: Refactor struct resources > media: stb0899: Simplify check > media: uvcvideo: Refactor iterators > media: uvcvideo: Use max() macro > media: go7007: Use min and max macros > media: stm32-dcmipp: Remove redundant printk > media: staging: sun6i-isp: Remove redundant printk > media: dvb-frontends: tda18271c2dd: Remove casting during div > media: v4l: async: refactor v4l2_async_create_ancillary_links > staging: media: tegra-video: Use swap macro > media: s2255: Use refcount_t instead of atomic_t for num_channels > media: platform: mtk-mdp3: Use refcount_t for job_count > media: common: saa7146: Use min macro > media: dvb-frontends: drx39xyj: Use min macro > media: netup_unidvb: Use min macro > media: au0828: Use min macro > media: flexcop-usb: Use min macro > media: gspca: cpia1: Use min macro > media: stk1160: Use min macro > media: tegra-vde: Refactor timeout handling > media: i2c: st-mipid02: Use the correct div function > media: tc358746: Use the correct div_ function > media: venus: vdec: Make explicit the range of us_per_frame > media: venus: venc: Make explicit the range of us_per_frame > media: dvb-frontends: tda10048: Fix integer overflow > media: dvb-frontends: tda10048: Make explicit the range of z. > > drivers/media/common/saa7146/saa7146_hlp.c | 8 +++---- > drivers/media/dvb-frontends/drx39xyj/drxj.c | 9 +++----- > drivers/media/dvb-frontends/stb0899_drv.c | 2 +- > drivers/media/dvb-frontends/tda10048.c | 13 +++++++---- > drivers/media/dvb-frontends/tda18271c2dd.c | 4 ++-- > drivers/media/i2c/st-mipid02.c | 2 +- > drivers/media/i2c/tc358746.c | 3 +-- > drivers/media/pci/mgb4/mgb4_core.c | 4 ++-- > drivers/media/pci/mgb4/mgb4_regs.c | 2 +- > drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c | 2 +- > .../media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 10 ++++----- > .../media/platform/mediatek/mdp3/mtk-mdp3-core.c | 6 ++--- > .../media/platform/mediatek/mdp3/mtk-mdp3-core.h | 2 +- > .../media/platform/mediatek/mdp3/mtk-mdp3-m2m.c | 6 ++--- > drivers/media/platform/nvidia/tegra-vde/h264.c | 6 ++--- > drivers/media/platform/qcom/venus/vdec.c | 7 ++---- > drivers/media/platform/qcom/venus/venc.c | 7 ++---- > .../platform/st/stm32/stm32-dcmipp/dcmipp-core.c | 7 ++---- > drivers/media/usb/au0828/au0828-video.c | 5 +---- > drivers/media/usb/b2c2/flexcop-usb.c | 5 +---- > drivers/media/usb/go7007/go7007-fw.c | 4 ++-- > drivers/media/usb/gspca/cpia1.c | 6 ++--- > drivers/media/usb/s2255/s2255drv.c | 20 ++++++++--------- > drivers/media/usb/stk1160/stk1160-video.c | 10 ++------- > drivers/media/usb/uvc/uvc_ctrl.c | 26 ++++++++++++---------- > drivers/media/v4l2-core/v4l2-async.c | 7 +++--- > drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c | 3 +-- > drivers/staging/media/tegra-video/tegra20.c | 9 ++------ > 28 files changed, 84 insertions(+), 111 deletions(-) > --- > base-commit: 836e2548524d2dfcb5acaf3be78f203b6b4bde6f > change-id: 20240415-fix-cocci-2df3ef22a6f7 > > Best regards,
After this set is applied, these are the only warnings left: drivers/media/pci/ivtv/ivtv-fileops.c:223:4-10: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:230:3-9: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:236:4-10: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:245:3-9: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:251:3-9: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:257:3-9: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:272:3-9: preceding lock on line 267 drivers/media/pci/ivtv/ivtv-fileops.c:598:4-10: preceding lock on line 627 drivers/media/pci/ivtv/ivtv-fileops.c:598:4-10: preceding lock on line 689 drivers/media/pci/ivtv/ivtv-fileops.c:606:3-9: preceding lock on line 627 drivers/media/pci/ivtv/ivtv-fileops.c:606:3-9: preceding lock on line 689 drivers/media/pci/ivtv/ivtv-fileops.c:648:3-9: preceding lock on line 627 drivers/media/pci/ivtv/ivtv-fileops.c:648:3-9: preceding lock on line 689 drivers/media/pci/ivtv/ivtv-fileops.c:692:4-10: preceding lock on line 689 drivers/media/dvb-core/dvb_frontend.c:2897:1-7: preceding lock on line 2776 drivers/media/dvb-core/dvb_frontend.c:2897:1-7: preceding lock on line 2786 drivers/media/dvb-core/dvb_frontend.c:2897:1-7: preceding lock on line 2809 drivers/media/dvb-frontends/stv090x.c:799:1-7: preceding lock on line 768 drivers/media/usb/go7007/go7007-i2c.c:125:1-7: preceding lock on line 61 drivers/media/rc/imon.c:1167:1-7: preceding lock on line 1153 drivers/media/pci/cx18/cx18-scb.h:261:22-29: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:77:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:85:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:154:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:171:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:180:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:189:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:201:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:220:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_cmds.h:230:5-16: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:764:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1008:43-60: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1014:36-46: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1041:5-15: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1088:39-51: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1093:5-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1144:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1239:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1267:5-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/qcom/venus/hfi_helper.h:1272:4-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/common/siano/smscoreapi.h:619:5-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/common/siano/smscoreapi.h:669:6-13: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/common/siano/smscoreapi.h:1049:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/common/siano/smscoreapi.h:1055:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/dvb-frontends/mxl5xx_defs.h:171:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/dvb-frontends/mxl5xx_defs.h:182:4-8: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/allegro-dvt/nal-hevc.h:102:14-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/media/platform/xilinx/xilinx-dma.h:100:19-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) drivers/staging/media/atomisp/pci/atomisp_tpg.h:30:18-22: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) CI tested: https://gitlab.freedesktop.org/linux-media/media-staging/-/commit/055b5211c68e721c3a7090be5373cf44859da1a7/pipelines?ref=ribalda%2Ftest-cocci Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- Changes in v2: - Remove all the min() retval, and send a patch for cocci: https://lore.kernel.org/lkml/20240415-minimax-v1-1-5feb20d66a79@chromium.org/T/#u - platform_get_irq() cannot return 0, fix that (Thanks Dan). - Fix stb0800 patch. chip_id can be 0 (Thanks Dan). - Use runtime (IS_ENABLED), code looks nicer. (Thanks Dan). - Do not replace do_div for venus (Thanks Dan). - Do not replace do_div for tda10048 (Thanks Dan). - Link to v1: https://lore.kernel.org/r/20240415-fix-cocci-v1-0-477afb23728b@chromium.org --- Ricardo Ribalda (26): media: pci: mgb4: Refactor struct resources media: stb0899: Simplify check media: uvcvideo: Refactor iterators media: uvcvideo: Use max() macro media: go7007: Use min and max macros media: stm32-dcmipp: Remove redundant printk media: staging: sun6i-isp: Remove redundant printk media: dvb-frontends: tda18271c2dd: Remove casting during div media: v4l: async: refactor v4l2_async_create_ancillary_links staging: media: tegra-video: Use swap macro media: s2255: Use refcount_t instead of atomic_t for num_channels media: platform: mtk-mdp3: Use refcount_t for job_count media: common: saa7146: Use min macro media: dvb-frontends: drx39xyj: Use min macro media: netup_unidvb: Use min macro media: au0828: Use min macro media: flexcop-usb: Use min macro media: gspca: cpia1: Use min macro media: stk1160: Use min macro media: tegra-vde: Refactor timeout handling media: i2c: st-mipid02: Use the correct div function media: tc358746: Use the correct div_ function media: venus: vdec: Make explicit the range of us_per_frame media: venus: venc: Make explicit the range of us_per_frame media: dvb-frontends: tda10048: Fix integer overflow media: dvb-frontends: tda10048: Make explicit the range of z. drivers/media/common/saa7146/saa7146_hlp.c | 8 +++---- drivers/media/dvb-frontends/drx39xyj/drxj.c | 9 +++----- drivers/media/dvb-frontends/stb0899_drv.c | 2 +- drivers/media/dvb-frontends/tda10048.c | 13 +++++++---- drivers/media/dvb-frontends/tda18271c2dd.c | 4 ++-- drivers/media/i2c/st-mipid02.c | 2 +- drivers/media/i2c/tc358746.c | 3 +-- drivers/media/pci/mgb4/mgb4_core.c | 4 ++-- drivers/media/pci/mgb4/mgb4_regs.c | 2 +- drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c | 2 +- .../media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c | 10 ++++----- .../media/platform/mediatek/mdp3/mtk-mdp3-core.c | 6 ++--- .../media/platform/mediatek/mdp3/mtk-mdp3-core.h | 2 +- .../media/platform/mediatek/mdp3/mtk-mdp3-m2m.c | 6 ++--- drivers/media/platform/nvidia/tegra-vde/h264.c | 6 ++--- drivers/media/platform/qcom/venus/vdec.c | 7 ++---- drivers/media/platform/qcom/venus/venc.c | 7 ++---- .../platform/st/stm32/stm32-dcmipp/dcmipp-core.c | 7 ++---- drivers/media/usb/au0828/au0828-video.c | 5 +---- drivers/media/usb/b2c2/flexcop-usb.c | 5 +---- drivers/media/usb/go7007/go7007-fw.c | 4 ++-- drivers/media/usb/gspca/cpia1.c | 6 ++--- drivers/media/usb/s2255/s2255drv.c | 20 ++++++++--------- drivers/media/usb/stk1160/stk1160-video.c | 10 ++------- drivers/media/usb/uvc/uvc_ctrl.c | 26 ++++++++++++---------- drivers/media/v4l2-core/v4l2-async.c | 7 +++--- drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c | 3 +-- drivers/staging/media/tegra-video/tegra20.c | 9 ++------ 28 files changed, 84 insertions(+), 111 deletions(-) --- base-commit: 836e2548524d2dfcb5acaf3be78f203b6b4bde6f change-id: 20240415-fix-cocci-2df3ef22a6f7 Best regards,